web: Show a usable terminal in container details

Show a usable terminal in container details, where you can type
see output, scroll, etc.

Disconnects when container stops, hides cursor. Reconnects when
container starts and shows cursor.

For now we show the terminal when the docker container has a tty.
But this seems like the default. When no tty Docker's /attach
command uses a strange binary framing, which we can't handle on
our text-stream socket.

Closes #346