WKT lexer

As I found myself some spare time and enthusiasm, I tried to write a lexer to replace the regex-based parsing of WKT strings (see also #2172). Here is the result. Please let me know whether this is anywhere near the concepts that have been conceived.
For encoding, CamelCase keys in this object are appropriate (since that's what `geometry.getType()` will return).  For decoding, a separate enum could be used with UPPERCASE keys (these would be used in assigning to `ol.format.WKT.Parser.GeometryParser_` and `ol.format.WKT.Parser.GeometryConstructor_` below).  But I think both of these would be minor minification optimizations and should be handled separately.