renames player to user in Game constructor
adds LoggedIn and LoggedOut events to User and removes _isPlayerOrSpectator
refactors user setup and adds handlers for LoggedIn and Replaced in Application
adds Replaced event and replace/replaceWith methods in User