Code emitter for imperative code

1. Extend CodegenDS to support emitting imperative ASTs
2. Testcases for CodegenDS imperative
Merge branch 'StableBranchWithTestcases' of https://github.com/lukechurch/designscript into JunStableBranch1
Merge pull request #167 from junmendoza/JunStableBranch1

Imperative code emitter