Support cleanly removing touch control from polymaps

Polymaps currently binds touchmove on the window object as soon as `po.touch()` is called - so adding `po.touch()`, removing it, and touching the map triggers an error because the handler's `map` internal variable no longer points to a map.

This fork request simply pushes that part of the event registration and de-registration into the `add` and `remove` methods.