Notebook text editor

This is a work in progress, but basic loading, editing and saving appears to be working.

This sits on top of #6865, because `CodeMirror.findModeByMIME` is apparently new in 4.7.

closes #1581
Of content. I'm not sure what `message` is doing here - I suspect a rebase went wrong.