WIP: EDITING Add Modules and Improve D&D

Add functionality to add new modules and subcollections to a collection, as well as search for and add existing modules.

Also improves drag and drop functionality and performance, allowing nodes to be moved before or after another node, or inserted into a subcollection (even if that subcollection is empty).

Tasks:

- [x] Move all relevant drag and drop code into draggable.coffee
- [x] Allow nodes to be inserted before or after another node, or added to a subcollection, depending on the position of the cursor over the target.
- [x] Add support for adding subcollections to the table of contents
- [ ] Allow subcollections to be renamed
- [ ] Add support for adding new modules to the table of contents
- [ ] Add support for adding existing modules to the table of contents