Improvements
- migrated bindings from `pybind11` to `nanobind` for smaller, faster bindings (11)
- upgraded `maplibre-gl-native` to `02c196a`
- added several methods to describe layer and map style state (12):
- added `getFilter` to retrieve a layer's filter and and
`setFilter` to set it
- added `getVisibility` to retrieve a layer's visibility and
`setVisibility` to set it
- added `getLayerJSON` to serialize a layer's properties to JSON
- added `listLayers` to list layers in the map's style, and `listSources`
to list sources
- added `addSource` to add a source to the map and `addLayer` to add a layer (14)
- added `setGeoJSON` to set GeoJSON data for a GeoJSON source in the map (14)
- allow constructing map with an empty style `Map("")` in order to allow adding
sources and layers after construction (14)
- add support for getting and setting paint property of a layer:
`getPaintProperty`, `setPaintProperty` (16)
- add support for getting, setting, and removing feature state (17)
Breaking changes
- raise exceptions on certain types of invalid styles passed in as JSON (13);
not all invalid styles are detected, and remote styles are not checked for
errors at map initialization due to other issues (see 15). Formerly, these
errors were not easily available from the style parsing steps of
`maplibre-gl-native`.