This fixes the nasty case where "foo(bar)" is context-sensitive, and
generally simplifies the compiler a lot since there is a clear
distinction between lexical and dynamic scope.
Also:
- Remove the special handling of capitalized names since all names are
lexical now.
- Allow methods to close over local variables in enclosing functions.
- Allow implicit definition of all lexical names.