Add projection.clipGeometry.

Eventually, this will allow clipping against arbitrary GeoJSON
geometries:

 * [Multi]Point: infinitesimally small polygon(s).
 * [Multi]LineString: infinitesimally thin line(s).
 * [Multi]Polygon: polygon(s).
 * GeometryCollection: a collection of geometries, potentially of
   different types.

For now, only a single great arc is supported i.e. a LineString with two
coordinates.