State-level zoom

Implements zoom capability to the map. Clicking on a state will zoom it into the bounding box, clicking on the background will zoom out to default. In addition, double-click, mouse-wheel, two-finger zoom as well as dragging are supported. Code ported from: http://bl.ocks.org/mbostock/9656675