DragInteraction callbacks for dragstart, drag, and dragend

Working towards #365, and realized I needed this.

This takes care of #630 too.
I think the idea behind these interaction drag calls is to clear out the appropriate variables.  I would prefer to input a null/undefined argument to be more clear or at the very least document this usage.  It looks very much like a nonmodifying getter