Added (hopefully) cross-browser onMouseDrag event.
Better event handlers:

* onMouseDown sets a boolean __mouseDown to true;
* onMouseUp unsets that boolean;
* onMouseMove is only triggered when not dragging;
* onMouseClick is only triggered when the cursor is not moved;
* onMouseDrag refactored a bit and now properly uses 'useCapture'.