Render columns out in the columns field
Be stricter about using IObjects and IArrays in the interpreter

IValue.from_js checks that normal JS objects don't occur in the
interpreter, unless the value is coming from an external source.
Binding the evaluation result JSON into the env is wrong

Move the binding back to Environment.prototype.run, which has access
to the unJSONed interpreter values.