Give the chat UI for free

The point of the lesson is networking, so let's not bother typing HTML. Any
extra time at the end can go towards more features.
Move pubsub keys into constants
Make message form a real form

This lets us catch the `submit` action instead of having to look for a `click`
and an `enter` key if we want both interactions to work. Though now we do have
to stop the form from really submitting.
Move form cancellation to HTML

I don't like putting it here, but it lets us get it our of the JavaScript where
it's just a magic thing we have to do. Totally sweeping it under the rug.
Reorganize example JS

Clustering everything into chunks that need to be handled at about the same
time. I got rid of all the anonymous functions so everything looks the same and
to avoid all the extra syntax that's prone to typos.

Also got rid of the connect event callback since it's non-critical. Will add it
as the first extra work item.
Update README to match new example code

I gave in and just included the publish/subscribe keys in the code. It's easier
than making everyone copy it or fetch it separately, and it's not like they're
really secrets to anyone visiting the page.

I think this order of operations makes pretty good sense, and lets us test the
interesting functions in chunks as we go.