improve geometry example

- use [`dom-delegator`](https://github.com/Raynos/dom-delegator) to listen to `mousemove` / `mouseup` events instead of `window.addEventListener`
- use `ev.offsetX || ev.layerX` consistently in event handlers instead of using `ev.clientX` to calculate delta on mousemove
- use `{ x, y }` object consistently in drag event handlers

cheers!