Clean chat event handling a bit

Denizen currently handles ASync / Sync chat events really weird... this
is the first step in cleaning it up to be handled appropriately --
moving the world events to Smart events, and making the ugly async code
non-default in the config file.
(Currently our Async code just forces sync, which is fairly pointless
and dangerous)