Show messages to the user.

- add ability to send log messages and toasts to the UI
- send basic events to the UI
- move Client.connect out of the background thread (Service is
  running in the background now)
- Partially handle the server disconnecting