Optimise area calculation for CCW detection.

Fixes #39.
Better handling of null, empty and tiny geoms.

Previously, topojson would implicitly remove null and empty geometry objects,
which could cause confusing behavior if you expected the conversion process to
be lossless. Now TopoJSON uses type-less geometry objects to indicate null
geometries; these objects can retain ids and properties, similar to how GeoJSON
a feature object is separate from its (potentially null) geometry object.

This commit also changes filtering to happen post-simplification. This means
that small or degenerate features that happen either as a result of quantization
or simplification will be properly marked as null geometries. Degenerate
geometries are now preserved as single points where appropriate.
Fix a few topology.filter bugs and reverse holes.

* Counterclockwise ring areas were being incorrectly calculated (the
  area A is already negative so the positive area is π + A).
* The MultiPolygon filter should *exclude* polygons with an area smaller
  than the minimum.
Better tests for topojson.object.

Also fix a bug where LineStrings could have only one coordinate rather than the
required two, and another bug where null geometry objects lost their id and
properties.
Report type null, rather than undefined.

This should make it a little more obvious when a feature is filtered.
Bump version.