prevent map zoom snapback effect

Overload PinchZoom control to check if we are at the limits of zoom and
if so ignore any pinch zoom that tries to go past those limits. This
stops the visual glitch of the zoom sort of working and then snaping back
and also gives a visual indication of when the zoom limits have been
reached.

Fixes #118