Second step of the refactoring

Probably not going to use websockets for everything, there's no
point. Will have a server API, and then different clients can be
created easily.
Trivial board creation