fix Issue 10567 - Typeinfo.compare has unreasonable signature requirements on opCmp

If needed, generate `__xopEquals` method in order to adapt `opCmp` member
function (even if it's template) to the function pointer `TypeInfo_Struct.xopCmp`.
optimize for opEquals
Merge pull request #2321 from 9rnsr/fix10567

Partial fix for Issue 10567 - Typeinfo.compare has unreasonable signature requirements on opCmp