Part of [ENG-4844](https://linear.app/comm/issue/ENG-4844)
Fixed [ENG-4878](https://linear.app/comm/issue/ENG-4878)
Depends on D9107
On safari we need to start database before rehydration like on other browsers. This is done by initializing the database in `getDatabaseModule`, so as soon as it's called somewhere we make sure the database is ready to go. This diff also merges `initForDBForLoggedInUser`, `init`, and constructor because there was some code duplication.