* Avoid crash for plugin has nothing to render.
Plugins that register a pug file, but has nothing to render (e.g. when WPT timed out for all urls), would still have their pugs rendered. This would break the assumption there was data to render, leading to a crash.
Unhandled rejection TypeError: Cannot read property 'run' of undefined on line 13
Filtering out the plugin pugs where there’s data from messages fixes this crash.
* Allow eslinting on js-files in html templates.
* Simplify css/js/pug for tab rendering.
* Split inline js into separate .js file (to allow linting and syntax highlighting in editor).
* Update js/css to show all tabs by default, and then hide them on page load via javascript. That way all content is visible if js fails to load, instead of all content being hidden.
* Don’t scroll page when switching result tab.
* Rename pagexray image for consistency.
* More granular checks for missing plugin data.
* Reflect tab switches in url fragment.