Add drag-and-drop functionality.

Closes #1