Improve error handling and add a lot of stubs for currently missing error checks
Split out all linking related funtionatlity from the Compiler and SourceFile implementations
Split out rom generation from source file and compiler