DragInteraction callbacks for dragstart, drag, and dragend

Working towards #365, and realized I needed this.

This takes care of #630 too.
Yes, it would make the API more consistent. Most other calls like these seem to be getters.

Although is it common to get a callback?