feat(server): handle connect, disconnect and error events
feat(client, server, shared): new login/register
wip(client, server): handle auth and connecting
feat(server): listen for auth events
wip(server, shared): dual purpose auth event
feat(server): add init system for listening