Emulates multiples interpreters in a single interpreter.
This works by simply obfuscating/de-obfuscating variable names
such that only the required subset of the global namespace is "visible"
at any given time.
By default, there exists a "main" context emulating the default interpreter
and cannot be deleted.