The current way that one module executes after another makes for very difficult debugging and very deep and inconsistent stacks.
For example, here is a "normal" timeline of 19 simple script-only modules executing one after the other.
{F25291276}
Which is effectively
```
execute() # module 1
runScript() # module 1
markModuleReady() #module 1
handlePending()
execute() # module 2
runScript() # module 2
markModuleReady() # module 2
handlePending()
execute() #module 3
..
```
and so on.
This would be much simpler to debug and understand the performance of, if after the end of execute(), it would resume the outer handlePending() rather than starting another one inside of it.
## Objective
* The stack in which `runScript()` is called, should not start from "Animation frame fired" (`requestAnimationFrame`). Instead, it should start from an event (e.g. script response directly), or from requestIdleCallback.
* The stack should involve a runScript call inside another runScript call.