progress on L3 compiler, and working towards a general refactoring
refactored heavily to abstract over languages
removed nativeRunner from Language