ProxyTypeBuilder does not honour implemented interfaces
description
The ProxyTypeBuilder class will not honour any existing interface implementations on a subject type. For example, if type SubjectType implements ICollection<int>, the generated interface ISubjectType and proxy type SubjectTypeProxy will not implement ICollection<int>. As a result, it is no longer possible to pass an instance of ISubjectType to a function that accepts ICollection<int>, where as it would have been possible by passing SubjectType directly.
This functionality should be preserved.