TypeImplementer: Implement multiple interfaces

Issue #34 reports that only the main interface is presented, so that if
e.g. a programmer wishes to add the properties interface to a type, then
the resulting implementation attempts to call the method on the
incorrect interface.

This is due to a premature optimisation, which this patch removes.