Draft: backends/native: Move deadline evasion into the device
So that it can be adjusted dynamically every time it misses a frame.
This works for atomic KMS, but unfortunately not for simple KMS because cursor movements don't get presentation events.
Closes: #3146 (closed)
Closes: #3612 (closed)