Make popup endpoint work for all kinds of map features

* Add MapFeature helpers
* Use _map_feature_hash instead of _plot_hash