Tidy up

This pulls the CSS out into a separate file, adds a mocking system so I can test it when all my services are up, avoids inserting the HTML header twice through AJAX, and applies a few (hopefully uncontroversial) style tweaks.