Make hyperlink editing respect review mode constraints.
Move image insertion code from EditorSession to ImageInserter.

This allows access to controllers directly in the widget, as is
the convention.
Make image insertion respect review mode constraints.
Make text editing respect review mode constraints.
Turn PlainTextPasteboard into PasteController.
Make PasteController respect review mode constraints.
Add review editor to programs/editor
Rename SessionContextCache to SessionContext.

Stops caching cursor range.
Rename imageInsertingEnabled to imageEditingEnabled
Hide annotation removal buttons of other authors
when the edit.annotations.onlyDeleteOwn constraint
is enabled.

This requires pulling out SessionConstraints from
SessionController and having EditorSession pass it to
both SessionController and SessionView.