Reorganise code into Polyglot.Compiler