Add PlayerChat, PlayerJoin, PlayerQuit events; make EventDispatcher.register/unregister work with IDs
(cherry-picked from f38921d)