ui: Add status icon indicating whether session is local or remote
ui: Fix flash of gray background when connecting SPICE viewer
Ensure we don't show multiple rejected-memory warning icons

if the server sends multiple rejection events.
Properly handle startup from other than Controller.STATE_STOPPED

RemoteController can initialize() to states other than STATE_STOPPED,
depending on the state of the remote VM.  Rather than having the UI
unconditionally launch the VM during startup, require
Controller.initialize() to emit the appropriate signal to initialize
the UI state machine.
Ignore stale SpiceClientGtk signals
Try to reconnect viewer after connection failure
Recover from qemu black screen crashes under RemoteController
Make have_memory flag private to LocalController
ui: Allow connecting a connected viewer

May occur due to races.
Always fail Controller.connect_viewer() through callback

The _ensure_state decorator was raising an exception directly.
Stop logging viewer connection failures

These are now expected due to the backoff/retry process.
Ignore another stale SpiceClientGtk signal