We should support mouse events as well for desktop, e.g.

```js
var isTouch = 'ontouchstart' in window;
  var touchmove = isTouch ? 'touchmove' : 'mousemove';
  var touchend = isTouch ? 'touchend' : 'mouseup';

  var getTouch = (function getTouchWrapper() {
    return isTouch ? function(e) { return e.touches[0] } :
                     function(e) { return e };
  })();
```

```js
  cx = getTouch(evt).pageX;
  cy = getTouch(evt).pageY;
```