fix($drag): improve caching of mouse position

There is no test for this as of yet (it is somewhat difficult to test),
but these changes were necessary to make the demo page in issue-3 behave
properly.

The $drag code had gotten a bit mixed up due to experimenting with
implementing Draggable using jQuery-UI's method. The experiment generally
failed and requires far too much extra stuff, so it's been tossed.

This current code gets things generally back in line to where they should
be. We're still relying on pageX/Y rather than clientX/Y now though, however.