Panel refactor inspired by the latest work for Substance Composer.

Instead of controlling a factory panels instances are created directly.
In fact, panels are kind of a stateless PanelController factory.
Renamed state variables.

context -> panel
node -> left
resource -> right

The reason is, that we need a finer granularity in the state, not only
top level node ids (node, resource).
Renamed switchContext -> switchPanel
Introduced a basic concept for workflows.

This way it will be possible to inject dynamic behaviors and state drive workflows.
Minor cleanup.
Removed obsolete panel_specifications file.
Added some comments about workflows.
Expose Workflow API.
Show/hide panels before delegating state updates to workflows
Wording.
Remove white background

Removed explicit white background on content elements.
Visual touches for TOC.
Use green for math envs.
No max-width anymore.
Refactoring content panel and outline.
Merge branch 'panel_refactor' of https://github.com/elifesciences/lens into panel_refactor

Conflicts:
	styles/reader.css
Always call e.preventDefault() in reference click handlers.
Update outline after MathJax has finished.
Outline refactor.

Highlight all occurrences (not only parent nodes).
Call updateState() after MathJax has finished.