DragInteraction callbacks for dragstart, drag, and dragend

Working towards #365, and realized I needed this.

This takes care of #630 too.
actually, a choice that's more consistent with our codebase would be to privatize/protect these variables. there's no need for them to be public/package exported since there is already a function point for getting/setting these. if the variables were referenced from other Plottable classes, then the appropriate action would be to _name them, however since they seem to be used only in this class we should mark them private. then there is no need to document them.