Use custom Jasmine matchers to make tests more readable.
Evaluate declared functions at beginning of scope.
Put 'static' functions on Evaluator class, rather than prototype.
Condense all todo's into a single location.
Rename context internal list of states to stateStack for clarity.
Define $__temp__ array in all scopes.
Define the name of named function expressions in their scope.
Results from 'eval' are passed via a callback rather than when the function returns.
Require a context to resume evaluation.
Implement With blocks.