Since draw is the only tile operation that we defer, the tile queue can be an array of tiles and queue handling can be simplified. We now use the beforedraw event to defer drawing, and remove all occurrences of a tile from the tile queue when we draw it.
Instead of layers that want to defer tile drawing having to override the tile's draw method, layers can now abort drawing by returning false from a beforedraw listener, and later call draw(true) to draw the tile directly, without clearing it first.
This saves server requests, and because we use OpenLayers.Animation, setting img.src on a tile should not freeze iOS any more, so we can hopefully get rid of scheduleMoveGriddedTiles.
maps on small devices) this is a huge win: instead of downloading
*42 tiles* on a 500x500 div, we now download just 12, a 3.5x savings
in downloads by default. The buffer of 2 was originally chosen when
most maps were based on slow-loading WMS laeyrs and having an area
to pan into was more important. That default no longer makes sense.
(Closes#3111) r=tschaub
git-svn-id: http://svn.openlayers.org/trunk/openlayers@11481 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf