Do not use a fixed tile grid for vector rendering

Instead, we create a new tile grid whenever renderFrame is
called, no animation is active, and the resolution is not in the
tile grid already. This gives better rendering results because
we get vector tiles at native resolutions.
Separate method for updating the tile cache
Do not add resolutions while interacting
Use binaryInsert instead of sort
Tile grid and cache for one resolution only
Do not render tiles during animation and interaction
Adding comment about MIN_RESOLUTION
Fixing requires
Simpler tile coord access now that we only have one resolution
Need to take units into account
Merge pull request #799 from ahocevar/dynamic-canvas-tilegrid

Do not use a fixed tile grid for vector rendering. r=@elemoine,@tschaub,@twpayne