Changed function internals further

There are no longer separate stacks for variables and procedure definitions. Procedures are now defined basically as a variable binding pointing to a lambda.