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
Calling callback in kml tests

Also reordering things so we have `expect(got).to.xmleql(expected)`.
Calling callback in GML v2 tests
Calling callback in GML v3 tests
Calling callback in WMS capabilities tests
Get rid of unnecessary `waitsFor` function

This was a relic from the Jasmine tests.  Mocha tests have a built-in timeout.  Async tests are registered with a function that takes a callback.
Merge pull request #799 from ahocevar/dynamic-canvas-tilegrid

Do not use a fixed tile grid for vector rendering. r=@elemoine,@tschaub,@twpayne
Click handler called with empty event object on Android

On Android (both native browser and Chrome), the handleTouchEnd_
method is sometimes reached in a state where this.down_ is null.
This check protects against this.click_ being called without
an event object. To see this issue, open any example in Android,
and tap the zoom + or - button.
Merge pull request #811 from ahocevar/conditional-click

Click handler called with empty event object on Android. r=@fredj
Merge pull request #810 from tschaub/async-tests

Proper async testing