scene: Improve the time diff calculation
This code only accounted for the time that elapsed between the previous
and the current render passes, as opposed to the interval between the
expected presentation times of the frames. This had the effect of making
animations look erratic even when kwin was consistently rendering at the
monitor refresh rate, since render passes can happen at random points
in the interval between two vblanks.
This commit fixes this by adding a Scene::setNextExpectedPresentTime(),
and using the provided timestamp to compute the time diff.