OverviewMap control

This replaces #822. It cherry-picks all of @adube's commits, and makes necessary updates due to library changes since the original pull request was created. No other changes were made so far.  
The case where the map gets a new view instance should also be handled.