clutter/frame-clock: Apply error diffusion (dithering) to dispatch times
But only the dispatch times used when last_presentation_time_us == 0
(Nvidia + Xorg).
This ensures the average dispatch interval is always precisely equal to the refresh interval, regardless of any jitter in the mainloop.
Fixes: #1751 (closed), #1758 (closed), #1870 (closed)
Edited by Daniel van Vugt