Slight optimizations.

- Don't decode usernames before we know we need them
- _on_message never returns STOP, no need to wait for it
Use ujson when available.