Re-implement BoundingBox and _ensure_visible() from Champlain in Maps
libshumate will not have an equivalent to ChamplainBoundingBox and champlain_view_ensure_visible (taking a bounding).
We could already now re-implement this functionality directly in Maps to easy porting later on.