timer: Decouple timer logic from the widget tick
Moving the timer logic in a separate processing timeout outside the widget frame update tick.
-
fixes timer firing when the window is not being repainted https://bugzilla.redhat.com/show_bug.cgi?id=1525025
-
the countdown frame is updated at most 25 times a second which should slightly reduce CPU usage