Keep track of any calls to MapController that require a layout and delay them until the MapView has a layout. Updates #22.
Make sure we clear any existing projection now that we have a width/height. Updates #22.
Implement a more robust system for handling (and coordinating) first layout of the maps. Allow listeners to subscribe to first layout event. Change MapController to use this for determining first layout. Updates #22.