Scopes are now aware of the function they are in
Added function to get the parent scope
Added getter for variables
Improved debug output
Add an isSimple test
Return values are now treated as writeable parameters
defAssign now puts code into a function created on the fly, unless the copy is simple
Implemented getVariable variant