Zoom pan

This branch fixes #9 #10 #11 . It required the addition of a global `offset` and `scale`, and the `DOT_CONTAINER` and `DOT_CONTAINER_WRAPPER`.

The native scrolling is not used. All scroll and zoom gestures are completely custom.

Modifications were made to `addListeners`. There are two more parameters, `includeOffset`, and `maxInteractions`.

* `includeOffset` - if true, all returned coordinates include the scale and offset transformations of the `DOT_CONTAINER`. By default, this value acts as `false`.
* `maxInteractions` - this is the maximum number of touches/pointers allowed on an element. So, something like an arc only can have one. But zooming has many. By default, this value is `1`.

Please review.