compositor: only delay hardware cursor updates when necessary
We only want to delay them while an active window is driving the refresh rate of
the screen - outside of that situation, we want cursor updates to be done at the
maximum refresh rate of the screen.
BUG: 487563
The other two commits are refactors to make it possible for the Compositor
to control this.