Overhauls compiler system

Moves the base compiler code to its own class, and moves the
actual liquidscript compiler to an ICR compiler.