More reliably make sure crosshair is displayed

The touchstart event seem unreliable in combination with openlayers and
also the ability of backbone to capture events from an element not
managed by it is also suspect so use touchend which is more reliable
and directly manage handling it. It's not as neat but it works reliably :/