Deprecate direct access to queryInterface
This MR deprecates direct invocations of queryInterface and implements some related fixes:
- fix implementations of
implements::queryInterfaceandextends::queryInterfaceto properly delegate toIInterface::i_cast(meant to be the place where specializations can implement delegations of interfaces, see !1766 (7836d905)) - drop overrides of
queryInterfaceas they can be replaced by overrides ofi_cast - replace invocations of
queryInterfacewithSmartIF,IInterface::castorIInterface::i_cast
As bonuses
- fix a minor incoherence in a dummy implementation of queryInterface in a test
- deprecate
isValidInterfaceand stop using it
Closes #371 (closed)