backends/drm: ensure commits are done before vblank
If a commit is applied during vblank, the kernel delays it to the next vblank, for X11 reasons. To ensure that doesn't happen with KWin, read how long vblank is for the current mode and adjust the safety margin accordingly.
(cherry picked from commit 7007599b)