display seamless migration: don't process both cmd ring and dispatcher queue till migration data is received
display seamless migration: don't process both cmd ring and dispatcher queue till migration data is received

fix: rhbz#866929

At migration destination side, we need to restore the client's surfaces
state, before sending surfaces related messages.
Before this patch, we stopped the processing of only the cmd ring, till migration data
arrived.
However, some QXL_IOs require reading and rendering the cmd ring (e.g.,
update_area). Moreover, when the device is reset, after destroying all
surfaces, we assert (in qemu) if the cmd ring is not empty (see
rhbz#866929).
This fix makes the red_worker thread wait till the migration data arrives
(or till a timeout), and not process any input from the device after the
vm is started.

SPICE/spice,alon/spice-server,fgouget/spice,mathslinux/spice,Fantu/spice,SPICE/spice,SPICE/spice,mathslinux/spice,fgouget/spice,elmarco/spice,Fantu/spice,fgouget/spice,ya-mouse/spice,Fantu/spice,freedesktop-unofficial-mirror/spice__spice,alon/spice-server,fgouget/spice,Fantu/spice,alon/spice-server,elmarco/spice,freedesktop-unofficial-mirror/spice__spice,elmarco/spice,alon/spice-server,elmarco/spice,ya-mouse/spice,elmarco/spice,alon/spice-server,ya-mouse/spice,freedesktop-unofficial-mirror/spice__spice,mathslinux/spice,mathslinux/spice,mathslinux/spice,freedesktop-unofficial-mirror/spice__spice,freedesktop-unofficial-mirror/spice__spice