Functional javascript chat. There are some minor bugs, but because this is a learning project, it doesn't matter