Breaking changes:
- Rework "react-native" optional dependency to fix weird version resolution behavior
- remove "react-native" from optionalDependencies
- add "react-native" to peerDependencies
- set "react-native" as optional using peerDependenciesMeta
- Fix incompatibility with vite bundler
- Use global import instead of dynamic require()
- Consequence: add specific rollup configuration to exclude "react" and "react-native" code from the final bundle