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)