Client side changes by Lubosz Sarnecki.
Version 2 additions by Jakob, still use a semaphore to wake up the client. But now instead call the compositor wait frame and have that thread wake up the client, and return immediatly on the IPC channel.
This enables out of process compositing.