Prioritize tile loading around mouse position

This PR is small but awesome.

The goal is to prioritize loading tiles at the user's focus of attention. We use the mouse position as a proxy for this. If the user is mouse wheel zooming somewhere, or if he/she is hover the mouse somewhere, we prioritize tile loads at this point. When the mouse leaves the map we switch back to the default strategy of prioritizing tiles near the center of the map.

The net result is that tiles are loaded first where the user is looking, and as a result the map feels even snappier.