One map per view

A control can only be associated with one map.  An interaction can only be associated with one map.  This change makes it so a view can only be associated with one map.

As a consequence of associating a view with a map, we get the `view.getExtent()` and `view.setExtent(extent)` methods that people expect.