Restore drag-and-drop functionality

Drag operations require 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)