web: Show Docker failures near the top of the page

Rather than inline in the tables. Then the tables can be data driven.

Issue #310
web: Migrate DockerClient to a DOM for container and image overview

This is a simple DOM, it would be nice to do more work here later
and use angular.

Moved the table headings into index.html, where they should
live, and use a proper <thead> to make the headings bold.

Use a simple system to check if /events can reconnect. If we get
at least one successful response from something since the last
time /events tried to connect, then we permit it to try again
to reconnect.

Among other things:
Fixes #268
Closes #310