New styling

I merged in your changes and added quite a bit of styling. 

- Instead of a random color, it chooses from a list (so we have more control)
- When disconnecting from a server, it will remove all the nodes for each channel on that host
- Created a cache object of clients so we don't create a new one for each host
- Used some styles from the mozilla style guide
- Made each tab adopt the background color
- Added some distinction between status messages, your own message and other people's messages
- Clicking on a host in the host list will put it in the input box to easily join other channels in that host
- The username field no longer will get cleared

You may want to just checkout this branch and try it out to see the changes.