compositor/sync-ring: Allow the gpu_fence to be moved
When the compositor inserts two waits in a frame, such as f606a442, the second insertion shouldn't break the ring's state machine as easily as it does. We can instead merge the two GL waits into one by simply moving the GL fence to the latest insertion. Each insertion still does its own X11 sync though.
Closes: #3384 (closed)