Follow up of https://phabricator.kde.org/D8804
This reimplements KisRelaxedTimer with a new goal: not eliminating timer restarts, but rather minimizing them within given boundaries.
This should allow us a much better control of what happens and what we want to happen.
We can later fine-tune this to different use cases/signal compressors. For now, the patch hard codes that a callback may always be 1 ms too early and up to 10% too late, which I hope should even fix the frame drop problems with the 10 ms timer at 100 fps (as 10% of 10ms is just 1ms).