Add module generation
change GenericCodegen into Codegen
Merge pull request #16 from js-scala/emit-module

Emit module