[Refactoring] Separate `Type::genTypeInfo` from `Type::getTypeInfo`

Reduce redundant Expression generation in glue layer
[Refactoring] Move FuncDeclaration::needsCodegen() into Dsymbol
fix Issue 12144 - Unresolved xopEquals when referenced by dynamic array constructor