scheduler: Allow timer task to be nested
Blink's current shared timer mechanism, which we are trying to replace,
allows timers to execute in nested message loops, but only if the
nested message loop itself was not initiated by a timer. We believe
this limitation is a historical relic which was originally introduced
to prevent multiple invocations of the same timer.
When the shared timer is replaced by indivially posted tasks, the
underlying scheduler will ensure that each task is only executed once.
Therefore it should be safe to lift this restriction.