Apply transform to coordinates rather than the canvas

Credit goes to @jystic for figuring out this approach.
Reducing number of default zoom levels

To avoid issues with long segments, we accept scaled tiles for
now. Further workarounds and browser tickets reporting our
issues are needed.
Merge pull request #404 from ahocevar/canvas-transform

Vector features disappear completely as you zoom in (r=@tschaub)
Relay contextmenu browser event
Merge pull request #786 from fredj/contextmenu-events

Relay contextmenu browser event