Restore drag-and-drop functionality

Drag operations the window selection to be in sync momentarily to occur.
This is done as late as possible (mouse-down) and cleared as early as
possible (mouse-up) to ensure the best performance.

The drag-start operation fires after the preceding mouse move event, so
it must be detected slightly earlier. The following rules can be used:

- Click count greater than 1 (user is performing word or paragraph
selection)
- Update called by a mouse up event (can't possibly be dragging if mouse
is released))
- Selection is not a collapsed range (can't be dragging if the range has
had time to be expanded)