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.