Factory should set instance.constructor to a factory wrapped ctor

+ Factory should assign __type() before handling mixins/constructed

Addresses: #53, #54