Replace d3.geo.simplify with d3.geo.transform.

Rather than exposing a geometry transformation that is limited to filtering
points based on a minimum z value, this commit introduces a more generic method
of constructing streaming geometry transformations. This eliminates some of the
wrapper code used previously to create transforms.

This commit also restructures the implementation in core/array to remove a
dependency on core/document; instead, core/document now depends on core/array
and redefines the implementation of d3_array for broken browsers.