Scope: add method to add allowed function names
use Scope.IsRoot
add handling for nested scopes
begin preprocessing support
remove obsolete compile condition
use scope created by the preprocessor
Scope: better handling of (yet) undefined functions
scope builtin function loading: filter properties for now
add names of builtin functions to avoid exception
Scope.FunctionExists() combines HasFunction() with tree-traversal
Generator: move param conversion to helper method
Scope: add tree traversal to IsFunctionDefined()
add basic implementation of InvokeBinder

This is necessary to allow calling functions that are
defined below in a script, or recursive functions.
fix FunctionCallBinder: use param expressions
add support for string concat
add support for number-string concat
add support for assignment
fix execution to work with variables
add support for concat-assign
add support for basic math operators