Extract drag and drop functionality

Pulled it out of FullsizeCanvas, into DragDrop. More to be done.