GeoChoropleth refactor

Kind of a large refactor, which adds:
- Auto zoom to geo features with the current projection
- Graticule
- Sphere
- Title accessor for features
- Simplifies render and redraw functions

TODO:
- Fix tests (changes to SVG class names don't match)
- Add moar tests!
- Document

Future:
- [Projection change transitions](http://bl.ocks.org/mbostock/3711652):
```
var _projectionTween = function (projectionA, projectionB, width, height) {
    return function (d) {
        var t = 0,
            projection = d3.geo.projection(function (λ, φ) {
                λ *= 180 / Math.PI;
                φ *= 180 / Math.PI;
                var p0 = projectionA([λ, φ]),
                    p1 = projectionB([λ, φ]);
                return [(1 - t) * p0[0] + t * p1[0], (1 - t) * -p0[1] + t * -p1[1]];
            }).scale(1).translate([width / 2, height / 2]),
            path = d3.geo.path().projection(projection);

        return function (_) {
            t = _;
            return path(d);
        };
    };
},
```
- [d3.geo.zoom (Jason Davies license?)](http://www.jasondavies.com/maps/rotate/)