clutter-frame-clock: Schedule triple-buffering without presentation times

With triple buffering in the DISPATCHED_ONE state a new frame is allowed to
be scheduled before the previous one completes presentation. But in this
state we shouldn't use `calculate_next_update_time_us` because it would
give a next update time that's too old (a repeat), causing premature
rendering and increased latency. Instead we calculate the next update time
as precisely one frame interval after the last. Assuming the system can
maintain full frame rate, this removes the high latency of classical
triple buffering (from the previous commit).

Note that we use the last intended update time and not the last actual
dispatch time, to avoid phase drift from event loop delays.

GNOME/mutter!1441
6 jobs for !1441 with triple-buffering-v4 in 8 minutes and 39 seconds (queued for 2 seconds)
detached
Status Job ID Name Coverage
  Review
passed #900086
check-commit-log

00:00:16

 
  Build
passed #900087
build-mutter

00:04:18

passed #900089
build-without-native-backend-and-wayland

00:02:44

passed #900088
build-without-opengl-and-glx

00:03:54

 
  Test
passed #900091
can-build-gnome-shell

00:01:44

passed #900090
test-mutter

00:04:19