Move this class out of JsCompiler into its own
Refactor to use Options and JsOutput
Use Gen options
Store metamodel as a comment to avoid overhead in js

The metamodel as a whole is only used at compile time; the runtime
metamodel will be stored in each type/method/etc.
make generator visible
Search for new commented metamodel
Generate class/iface/method maps even with no visible parent
unused import
Initial runtime metamodel encoding