Began switching to Socket.IO and completely refactoring things.

This allows us to put the websocket and webserver code on the same server process.
Furthermore, Socket.IO will automatically fall back to a different protocol in browsers where websockets aren't supported,
allowing us to support older web browsers.
Unfortunately, it ended up requiring a complete rewrite and some things like permission settings, user accounts, and automatic
advancement to the next item in the playlist are missing at the moment. I'll be working to reimplement those next.
Fixed account creation and login.
Show usernames in rooms.
Implemented permissions system.
Implemented automatically moving to the next video.

This is done using an infinitely looping greenlet that goes over the rooms table every few seconds and checks if any of the videos
have ended. Probably not the best way of doing things, but it shouldn't be too hard to implement a more efficient way later.
Fixed a silly bug causing the client's playlist_pos not to be set.
Implemented listing rooms by user count on the home page.
Enabled automatic reconnection.
Fixed creating rooms.
Fixed chat.
Fixed crash on clicking reload playlist.