DragInteraction callbacks for dragstart, drag, and dragend

Working towards #365, and realized I needed this.

This takes care of #630 too.
Is there an example somewhere on how they should be documented?