Compile an expression against a set of names, so later evaluate calls
with the same names are only a function call.
Evaluate expression with context in scope. Names not in context fall
through to the sandbox - the eval_context - and are a ReferenceError if
absent there too, as before.
The stable bindings - the State eval_context - shared by every evaluation.