Change logger visibility and addElement(Name) becomes addElement(AstNode).
Fix CompilerEnvirons visibility.
Add support for unnamed function declaration.
Various refactor.