pure js events, username availability check
multiple users by socketID instead of IP, to allow testing on a single machine