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.
EncodedPolyline: Backported ol3 polyline parser library

The ol3 version of the library is more advanced and complete. It can also
parse into flat array. It can handle unsigned integers, signed integers
and floats.
Merge pull request #914 from Turbo87/encoded-polyline

EncodedPolyline: Backported ol3 polyline parser library
tests/Bounds: Fixed typos
tests/Bounds: Fixed indentation and whitespace
Bounds: Fixed comment location
Bounds: Added extendXY() method

This is a simpler variant of the extend() method, but with less overhead.
Bounds: Simplified extend() method

.. by using the new extendXY() method if the given object is LonLat or a
Point.
Geometry: Added along attribute to distanceToSegment() function
Geometry: Added distanceSquaredToSegment() function
Merge pull request #916 from Turbo87/bounds

Added extendXY() method to Bounds class
Fix imageryProviders Bug

Sometimes imageryProviders is null so accessing providers.length on
line 255 causes a TypeError.
Geometry: Added "along" to the API documentation
Merge pull request #917 from Turbo87/segment-distance

Geometry: Added distanceSquaredToSegment() function
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.
add default value for ratio to the api docs
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.