Feature dragdrop

This implements drag and drop in a hopefully reasonable and simple fashion given the underlying complexity of the problem.