Changed to non-destructive array copy.

options.keys is the same as ids and therefore I shan't pop its elements.
Forwarded Google Maps geometry types to GeoJSON primitives.
Provided offline Google Maps API look-and-feel.

I inserted a minimal API that is pretty much adapted to its use in the map
page. For instance, only one handler is attached to 'bounds_change'
exclusively, so I don't need to bother with multiple handlers on different
event types; The new handler simply replaces the old one. Also for that reason,
clearListener() does nothing.
When in offline mode, the map page still fetches geometry from _view/geojson.
Since the viewport is more or less the entire earth, however, detail level is
as low as possible. I find myself way too lazy to rewrite update_geometry() for
no effect whatsoever.
Provided a clumsy explanation that 'the map is offline'.

This does not read well at all.
Disabled irrelevant settings when in offline mode.