Proper UX for compass

- @dapetcu21: better UX for the `MapView` compass.
- @tvararu: Hopefully more tests and better test coverage.