This commit adds and passes context around to (almost) every function. This allows cancelling (almost) every function call globally.
This commit adds a new environment package that manages all calls to the underlying operating system.