Version 0.21 : Added array type
String.length() no more - now String.length
Added extra constructors to reduce confusion
Fixed checks against undefined
Added JSON.stringify and eval()
Nicer JSON indenting
Fixed function output in JSON
Added evaluateComplex
Fixed some reentrancy issues with evaluate/execute
symbol_base removed and replaced with 'scopes' stack
Added reference counting a proper tree structure
(Allowing pass by reference)
Allowed JSON output to output IDs, not strings
Added get/set for array indices
Changed Callbacks to include user data pointer
Added some support for objects
Added more Java-esque builtin functions
root variable now doesn't change (as you'd expect)
a few built-in functions
The lexer can now work on a substring, which means no more string copies for loops/functions