jshint
Ensure that added tiles are retained

Previously, quickly zooming out and then back in sometimes left
only overzoomed tiles for the lower zoom level visible. The
problem was a race condition with deferred pruning:

1. Start at z15. Zoom in. This triggers loading of z14 tiles. As each
tile loads, _pruneTiles (throttled) is called. This results in deferred
removal of z15 tiles (250ms setTimeout). The deferral is done to avoid
flicker while the z14 tiles are faded in.
2. During the 250ms, zoom in. This triggers `_addTiles`, but since the
deferred pruning of the z15 tiles hasn't happened yet, the tiles are
still present in `this._tiles`. Therefore no tiles are queued for
loading, triggering an early return in `_addTiles`, before `_pruneTiles`
is called.
3. Deferred pruning of the z15 tiles happens. Since `_pruneTiles` was
short-circuited at z15, these tiles were never retained, nor were the
z14 tiles scheduled for pruning. End result is that the z15 tiles are
removed from the DOM while the z14 tiles remain, scaled 2x.