Enable custom interpolation for animated zoom/pan

This enables animated panning like this: http://bl.ocks.org/mbostock/3828981

For now it isn't done by default because then d3 3.3 would be a hard requirement, but it is pretty easy to do:
```javascript
map.transition({
  zoom: 4,
  center: {x: -40, y: 45},
  interp: d3.interpolateZoom
});
```