TraitInstance receives trait name, if present
change constructor generation strategy 

- initializers are now added as named functions to the prototype
- constructor is series of explicit calls to these named functions
extra prototype methods can be specified when making a new class
0.7.0