Add WKT parser.

Add a parser (read/write) for OGC Well-Known-Text (WKT). It deals with
geometries only, not with features, mostly because WKT can only contain a
single geometry (or geometry collection). This can later on be used to
serialize and deserialize geometries in ol3.
add exports for WKT
Don't rely on responseXML, also use responseText

On servers that report an incorrect content type for XML
documents, responseXML will be empty. In these cases we need to
use responseText instead. This change also prevents readNode
calls with empty data.
Use goog.isString() instad of typeof check
Merge pull request #713 from ahocevar/kml-responsetext

Do not rely on responseXML, also use responseText. r=@bartvde
address review comments by @twpayne
move last RegExp into constant
Merge pull request #712 from bartvde/wkt

Add WKT parser (r=@ahocevar,@twpayne,@tschaub)
GML options not always applied.

This is a follow-up for https://github.com/openlayers/ol3/pull/711
for the GML parser. Also use goog.array.map instead of map as was
pointed out by @twpayne on the WKT review and update the example data
to use all US states as pointed out by @tschaub on the Google hangout.
Merge pull request #714 from bartvde/gmloptions

GML options not always applied (=r@ahocevar)
Making RTree's find more efficient

By doing the type check before the intersection check, we can
save he intersection check for cases where we don't care about
type or have the specified type in a node.
Merge pull request #715 from ahocevar/rtree-performance

Making RTree's find more efficient. r=@bartvde
Properly reset the dirty flag

Currently, the dirty flag is never reset (to false).  This is a bug.  Because renderFrame is called very often (every layer render gets called when every other layer needs to re-render), it is criticial to know when we can bail out early.  The dirty flag is currently the way that the vector layer renderer knows that it needs to do more work.  On an empty cache, the renderFrame method of the vector layer renderer is called ~30 times for a single zoom in the vector layer example (due to tiles loading on other layers).  Without this change, we miss the fast path out and clear/re-render the canvas all 30 times.  With this change, we are only clear the canvas and redraw 6 times in a typical zoom animation.
Merge pull request #718 from tschaub/dirty-frame

Properly reset the dirty flag
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.