remove use of mirrors to construct tranSubtypes

registerTranSubtype now takes an addition parameter which is a function
that has no arguments which returns a new instance of the tran subtype
being registered
Merge pull request #12 from 0xor1/dev

remove use of mirrors to construct tranSubtypes