A few changes

Renamed AsyncClient.Connected to ConnectedAndInitialized, indicating
that Init data was successfully sent. Split Connected into a separate
property that polls the socket. Basic HUD implementation. Transition
between in game and menus more clear. TryConnectToServer uses an event
to make sure only one connection happens at a time, and only transitions
states upon successful connection.