Rename ol.Map#render to ol.Map#renderSync
Rename ol.Map#requestRenderFrame to ol.Map#render
Switch to asynchronous rendering by default
Handle asynchronous rendering in tests
Add ol.Map#isRendered
Only render overlays if the map is rendered
Add useInterimTilesOnError property to ol.layer.Tile
Activate useInterimTilesOnError in ol.renderer.canvas.TileLayer
Activate useInterimTilesOnError in ol.renderer.webgl.TileLayer
Activate useInterimTilesOnError in ol.renderer.dom.TileLayer
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
Run files via shell commands for Win compatibility
Remove unused import and variable
Make ZoomToExtent listen on button click

& not its container