Add side floating navigation to the content (about) pages

This PR implements the design for https://bugs.caret.cam.ac.uk/browse/PAVO-111. A side navigation is added to each content page which scrolls with the page to stay in view.
The FOOTER_SELECTOR is up there because it's pointing at something outside the widget's control (which could change), so it could do with a bit more prominence.

IMO it makes more sense to have data shared by (potentially) multiple instances outside the widget, as it makes it explicit that the data is shared. It would be inconsistent to define things inside the widget's constructor when it's a singleton and outside when it's not.