Simplify

No love for overly cautious if branches.
Simplify layout decision code
Ensure that tooltip gui always exists before displaying

This code is in dire need of being fixed by someone braver than i am.
In particular, the minimap code dealing with tooltips currently does
weird things and seems to be the only offender that is making this hack
necessary.
Delay show() of inactive tooltips

When this branch is reached while the tooltip is not active, it used to
instantly pop up after my recent refactoring. To mimic the old behavior,
we now again delegate responsibility to the scheduler and delay show().