Add MapGuide untiled map support to ol3.

This adds a new ol.source.MapGuide class that is initialized with an options object that can contain the following values:
 - projection: The projection of the Map Definition in EPSG format
 - url: The mapagent URL
 - useOverlay: Determines whether the GETMAPIMAGE (false) or GETDYNAMICMAPOVERLAYIMAGE (true) will be used for requesting the map image. When using GETMAPIMAGE, you must include a valid MAPDEFINITION parameter in the 'params' option property. When using GETDYNAMICMAPOVERLAYIMAGE, you must include a valid SESSION and MAPNAME parameters in the 'params' option property.
 - metersPerUnit: A required value used for calculating the map scale needed by the image request. This value can be calculated using the MapGuide Web API or obtained through the new CREATERUNTIMEMAP operation in MapGuide Open Source 2.6
 - params: A set of key-value pairs to append to the mapagent request
 - extent: The bounds of the layer

An example is included to demonstrate this new layer source. Like ol2, this example uses the MapGuide Server on data.mapguide.com
Fix map navigation on android native browsers
add an example to display GPX tracks
add missing requires
Merge pull request #1327 from oterral/fix_galaxytab

Fix map navigation on some android native browsers
Merge pull request #1329 from bartvde/gpx-trkpt

Add GPX tracks example
Don't use WebGL if there is a major performance caveat
Improve type checking in WebGL support test
Merge pull request #1330 from twpayne/fail-if-major-performance-caveat

Don't use WebGL if there as a major performance caveat
Add ol.structs.RBush#isEmpty
Merge pull request #1331 from twpayne/rbush-is-empty

Add ol.structs.RBush#isEmpty
Add ol.Object#getProperties
Don't build ol.css in check target
Export ol.Object#getProperties
Merge pull request #1334 from twpayne/build-check

Don't build ol.css in check target
Merge pull request #1333 from twpayne/object-get-properties

Add ol.Object#getProperties
Add ol.Observable for on, once, un, and unByKey methods
ol.Object extends ol.Observable
Using CONSTANT_CASE for geometry type
Using PascalCase for geometry enum values

This adds a bit more inconsistency to the library, but we didn't have complete consistency before.  Almost all existing string enum values are lowercase (a couple are camelCase and one is dash-separated).  The closure library isn't consistent either (with case for enum properties or values).  I imagine this could be justified in saying someone could blindly use GeoJSON type values in places, but in the end, you'll need to read the docs before guessing right.