Add an example that renders a simple fractal

This works at resolutions where simplification is significantly reducing the number of points in the line.  At high resolutions, navigation becomes unresponsive.  Limiting draw instructions to a replay group's extent will fix this.
Keep track of max extent for replay
Determining coordinate relationship to extent
Testing segment intersection with extent

If needed, this function can be modified to take two additional coorinates that will be set to the intersection points.
Skip coordinates that don't affect the rendered extent

Segments that intersect the replay group's extent are drawn.  Any segment that represents a change in coordinate-extent relationship is drawn.  This maintains the left/right relationship (or cross product) between points in the rendered extent and every rendered segment.

Still left undone: clip the replay group's rendering to the max extent.
Clip to max extent
Function for applying a 2d transform to an extent
Example applying a convolution kernel to an image
Add write support for gml:Point
Add write support for gml:LineString
Use correct axis order in write
Correct axis order for gml:pos
Add write support for gml:Polygon
Add write support for gml:MultiSurface
Serialize polygon as surface
Add write support for gml:Curve
Add write support for gml:MultiPoint
Add write support for gml:MultiLineString
Add write support for gml:MultiPolygon
Add write support for gml:MultiCurve