DragInteraction callbacks for dragstart, drag, and dragend

Working towards #365, and realized I needed this.

This takes care of #630 too.
You could also just disable the getter-lookalike by making the variable required if we don't feel that a callback should have a getter