[delays] Query skin events from Qt UI directly

   Old code used Qt's message loop to query for queued skin
events. As it was a synchronous call, it had no real benefits
but introduced some bad slowdowns to the main QEMU loop in case
when Qt was busy processing own events: e.g. creation of
extended controls' 3D view of the emulator takes hundreds of
milliseconds, and for that whole time QEMU main loop is blocked
waiting for Qt's message loop to return, even if it returns
nothing.

   This CL changes the call to be a direct call into the main
window object, with necessary locking. It gets rid of all delays
I used to observe when interacting with the emulato's UI while
performing any time-critical task in the guest, like playing
video or audio.

+ Remove extra 'display changed' events from the queue - Linux
  generates up to five of those, and processing of each of the
  them is at least 200ms+

Change-Id: I5807d2c30b9649a6f18338b58e62e34324d4e4a2
(cherry picked from commit 18b8314a761399fe939f8c8f474cc2fa28d0cde4)
3 files changed