Significant Refactoring of Compiler

Have refactored the compiler to make it more manageable, and have also
tried to solve the missing lambda, '_this' bug by way of double passing
on first load.