Avoid touching the geolocation object until needed

IE9 leaks when `navigator.geolocation` is accessed (see #461).  The goal of this change is to avoid that leak in builds that include the Geolocate control but do not use it.
Fix imageryProviders Bug

Sometimes imageryProviders is null so accessing providers.length on
line 255 causes a TypeError.
Backbuffer and transitionend only when there are tiles

When an application zooms the map programmatically right after
initialization, there will be an empty backbuffer. This should be avoided,
because it adds an unnecessary DOM element.

The tile.onLoadEnd handler registers a transitionend listener on the image
of the last loaded tile. But if loading was aborted, there will be no
image. The new logic registers the transitionend event on the last child
of the layer div, which is not necessarily the tile we're handling loadend
for. When the backbuffer is empty (i.e. no tile was loaded at the time the
backbuffer was created), it will be removed immediately.
Use the last child of the container only if loading was aborted

Otherwise we may pick a tile that is already half way through the
transition, which will cause the backbuffer to go away too early.
Merge pull request #920 from ahocevar/backbuffer-conditional

Backbuffer and transitionend only when there are tiles. r=@bartvde
Fix isBaseLayer documentation

Ensure the documentation matches the code with regards to the default value, and make the explanation slightly clearer as to why it defaults to false.
Backbuffer needs z-index

Since we don't rely on the DOM order for layers, we also cannot rely on it
for backbuffers. This change simply adds a sensible z-index to the
backbuffer container.
Merge pull request #921 from gravitystorm/patch-5

Fix UTFGrid isBaseLayer documentation
Making backbuffer order configurable

In OpenLayers 2.12, the backbuffer for each layer was placed right below
the layer itself. With animated zooming, that was changed so backbuffers
are all placed below the base layer. As it turned out, this is only good
for certain kinds of layers (e.g. street labels), so the default now is
to place the backbuffer right below its layer again. But the
transitionEffect option can now have a new value, 'map-resize', which will
cause the backbuffer to be placed below the base layer.
Typo in API docs; use "map-resize" option in example
Merge pull request #922 from ahocevar/backbuffer-zindex

Configurable backbuffer order. r=@bartvde
Don't add prefix 'gpx:' to node tags. Most of the GPX tools don't support it.
Adding a note for 2.13 about changes made to GPX format
Merge pull request #908 from pgiraud/GPX

Remove prefix 'gpx:' to node tags. Most of the GPX tools don't support it.
Merge pull request #919 from IJMacD/patch-1

Fix imageryProviders Bug (p=@IJMacD,r=@marcjansen)
Merge pull request #461 from tschaub/ie9-leaks

OpenLayers-2.12-rc2 + jQuery-1.7.2 Memory leak in Internet Explorer 9 (p=@tschaub,r=@marcjansen,@elemoine)
Simplifying layer visibility handling

Instead of adding and removing the Google container, we just toggle
style.display. This also removes the unused rendered and displayed
properties of the cache.
Merge pull request #925 from ahocevar/google-container

Google Maps rendering bug on fresh reload. r=@kevbradwick (fix #925)
Explicitly require the various Geometry types, as in GML.js, so listing OpenLayers/Format/WKT.js in a build config file is sufficient to build in these types.
Merge pull request #532 from adv-isu/WKTrequires

Format/WKT.js: add @requires for geometry types