More sophisticated RTree implementation

This new implementation is based on
http://github.com/imbcmdth/RTree/, with only a few modifications
to add the optional type and provide the API of the previous
implementation.

There is still room for optimization, but this is such an
improvement over the previous RTree already that it's worth
bringing it in now.
Only query RTree if requested geometryType is used
Use strings, like with other indices
Making RTree work in advanced compilation mode
Better optimization for advanced compilation mode
More performance and size optimizations

Not using Math.max and Math.min increases performance, and by
using ol.extent functions instead of RTree's rectangle
structures and calculations we can get rid of several functions.
Making docs more clear
Porting tests from http://github.com/imbcmdth/RTree/

Also fixes some issues that were revealed by the new tests.
Pass layers as array instead of ol.Collection
Merge pull request #721 from fredj/cleanup

Pass layers as array instead of ol.Collection
Addressing @tschaub's review comments
Merge pull request #719 from ahocevar/fast-rtree

More sophisticated RTree implementation. r=@tschaub
Export addFeatures

This needs discussion, but it's useful for now to be able to
have applications with programmatically created features.
Merge pull request #723 from ahocevar/add-features

Export addFeatures. r=@tschaub
Implement GPX parser (read/write).

Implement a parser for GPX which supports read and write.
Small fixes for KML write.

Be a good XML citizen and always write out schemaLocation.
Use serialize on ol.parser.XML so that we don't have to set xmlns manually.
getFeatureInfo examples: listen to click events

This make the examples works on touch devices.
address review by @fredj
make feature info work on touch devices for gpx example see #727
Merge pull request #727 from fredj/mobile-featureinfo

getFeatureInfo examples: listen to click events