Compiler API.

Compiler tool is built on top of a Builder API and adds register allocation and support for defining and calling functions into it. At the moment it's the easiest way to generate some code as most architecture and OS specific stuff is properly abstracted, however, abstractions also mean that not everything is possible with the Compiler.