Changing name to match what it does.
Pushing current_context up to top level.
Putting stuff in to global processor.
Moving process_node to global.
Compiling after rearranging processors.
Fixing current context setting.
Fixing element and parent contexts.
Fixing sets.
Fixing entry function.
Moving stuff from function to module.
Moving constants to module.
Fixing branch calculation issue.
Moving template processing up to module.
Fixing visitor chaining.