factor out startIsolate
factor our loading of builtin classes
always start the main class via an isolate
Merge.
implement KeyConverter.getKeyCode
remove redundant save/restore
Merge from gal:master