Handle tooltips with disabled (negative) timeout properly
The code assumes that there's always a timeout set. Adjust the code to handle negative values (-> no timeout).
Instead of forcing the dismissal timer to 0ms in the no timeout case I chose to hardcode 200ms, which seems like the consistent option. IMO it does not make sense to keep tooltips open longer after the mouse left it, only because the hide timeout was longer.
Tooltips behave weirdly here. On X11, sometimes they break after the first dismissal. On Wayland they pop up twice sometimes. That happens both with and without this MR though...
CC @ngraham