World networking

Improved the basic flow of joining a world from its lobby, and leaving a
world to return to its lobby.

For the realtime magic to happen I need to get player states sending to
and from the server, and to smooth it out I'll need to reimplement the
generalised cubic spline algorithms I used in the legacy client.

This is relatively straight forward, except this time round I want to
use JSON and state deltas; I want to send only the data that has changed
since the last state update. This is a straightforward structure and
makes it easy to plug states back and forth, leaving the physics engine
to calculate from it as needed, seeing as both server Users and client
Players inherit the same Entity/Character model.