Array update operators, GeoJSON operators, KMongo migration documentation and Multiplatform insertOne

### BSON

- Allow re-encoding a `Bson` value to another implementation (832b763e)
- Added `Geo.CoordinateReferenceSystem` (a79a3e56)
- Added `Geo.writeTo(BsonFieldWriter)` for easy serialization (0c63ce67)

### DSL

Update operators:

- Added `arrayFilters` support (#3, !242)
- Added `$pop` support (8366d4a0, !246)
- Added `$pull` support (fe025cca, !246)
- Added `$bit` support (!252)

Filter operators:

- Added `$near` (f2e71695, !248)
- Added `$nearSphere` (857941aa, !248)
- Added `$geoWithin` (4904317e, !248)
- Added `$geoIntersects` (bfcd4318, !248)
- Added `$mod` (6e0b89a2, !250)

Everything else:

- Merge different calls to the `sort` option (5b3e4412)

### Drivers

- KMongo compat: Allow overriding the `PropertyNameStrategy` in `asKtMongo()` (dd15b39e)

### Multiplatform

- Ability to connect to the database! (!172)
- Added `insertOne` support (!172)

### Documentation

- Added the [KMongo setup guide](https://ktmongo.opensavvy.dev/tutorials/from-kmongo/setup.html)
- Rewrote the [KMongo operator migration guide](https://ktmongo.opensavvy.dev/tutorials/from-kmongo/migrate.html)
- Fixed incorrect example of the `sort` option (8cbe186a)

### Dependencies

- Kotlin 2.4.0