Preserve polygon exterior/interior ring ordering.

According to GeoJSON, the first ring in a polygon should be the
exterior, and subsequent rings should be holes that are inside the
exterior ring.  This fix ensures that the rejoining of clipped segments
preserves these semantics, by generating multiple polygons if necessary
rather than generating all rings within a single polygon as it did
previously.

Fixes #1558.
Some minor optimisations.
Optimise.
Simplify.
Less confusing intialization of node positions.

Fixes #1561.
Add lib/rhill-voronoi.
Checkpoint new Voronoi implementation.

Still significant work left to minimize the size of the implementation, and
restore support for Delaunay meshes, but this provides a starting point.
Restructure Voronoi implementation using SMASH.
Minor polish.
Use a simple [x, y] array for vertices.
Shorten member names.
More shorter names.
More shorter names.
Shorter words.
More shortening.
Use clipExtent instead of bbox.
Shorter words.
Shorter words.
Alias Math.abs.
Remove obsolete license.