assets panel

Adds an editable assets panel that saves contents as extra files on the notebook.

Includes a host of other fixes that came from making the feature make sense in the UI and in the code, so this is merge quite a bit bigger than it might appear at first glance.