Add drag and support to ToC editor

This adds drag and drop support to the table of contents when in edit mode.  Most functionality is included in this PR, including re-arranging pages and subcollections, nesting subcollections, and adding pages to subcollections.

A few bugs still remain, including:
1. A strange caching tendency where the browser will not remember if a subcollection is expanded or not in some cases
2. When removing a subcollection that contains the active page, the active page is not changed