Implement a simple AST interpreter

This interpreter traverses the AST and interprets simple statements
and expressions.

Function statements are not yet supported; it can execute a `SCRIPT`
node containing a list of statements. Basic loops, assignments and
binary expressions work. L-value support is limited to simple identifiers.

Array and object literals are supported. A rough attempt at implementing javascript
string<->numeric<->truth conversions has been made here, but with the intention of
showing the general idea of the interpreter rather than attempting to fill in the details.

Variable declaration and scopes are not implemented.

The interpreter uses the old VM runtime functions, and has to be ported to the new
VM definitions when they are ready.