Add drag-and-drop support (Closes #5 as good as possible, DnD into open app), and some minor refactoring.