Major rewrite to a new, more effective IR design. Output has not yet been produced, however looking at the strings in debugging shows the output for instructions, the rest is fairly easy to produce