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
web: Connect DockerClient to the right machine.

And allow sharing it between pages.
web: Use CSS .unimportant class to implement the container filter

This is much cleaner, and separates out display from updating logic.
web: Cleaner logic for updating container and image rows

This is in lieu of using angularjs. Don't replace whole rows, so we
don't break state in those rows unnecessarily. In addition, sort the
new rows we bring in alphabetically. We'll do more complex sorting
later.
web: Cleaner logic for updating container and image rows

This is in lieu of using angularjs. Don't replace whole rows, so we
don't break state in those rows unnecessarily. In addition, sort the
new rows we bring in alphabetically. We'll do more complex sorting
later.
web: Use DOM to fill container and image details page.