Most of the logic implemented in `useInitialNotificationsEncryptedMessage` hook in `native` folder can be reused for olm session initialisation on web. That said the shareable part it should be moved to `lib` and only the platform specific part should be kept in `native`. Additionally this differential introduces necessary changes in native components (mostly boilerplate code).