Got rid of hack with stashing wereReified

1. Made ClosureCodegen extending MemberCodegen
2. Made ClosureContext extending ClassContext
Wrap parentCodegen before generating from inline
Supported nested reified parameter declarations

Also switched to using type names as identifiers instead of their
indices