First stab at adding dynamic requires()

- Scheduler now handles a new state "pending"
- Some funky code in the worker to halt execution and resume later
- Might needs more testing
- Put together somewhere over Greenland :)

TODO: there are still some bugs when running with multiple workers, I'm investigating it