Cleaned up the closure implementation.

Moved all management of type, method and field builders into a separate system.
Removed locals for referencing parent closures and replaced by direct access to fields on the closure itself.
Improved function name hinting based on first assignment.
Removed <>break and <>continue names of unnamed labels.
Source code of a function is now generated as an attribute.