Make Array take the actual type of the stored element
fix Issue 11793 - [ICE] Compiler runs out of memory with trivial program: class with own class member instance
fix Issue 11767 - doubly mixed-in struct "failed semantic analysis"

Inherently this is a mangling issue, which had been hidden since 2a3db5d7afd0c26e8a0ec58ff6fb6a8cd9647de6, and then detected by [the assertion for AST sanity](20fe5e8600498fed322a7d5d8305acb2de852cde).

Each mixed-in symbols are in independent scope, and their mangled names should also be different.
To fix the issue, assign scope-local unique name for each unnamed `TemplateMixin`s, as same as lambdas.
Merge pull request #2989 from yebblies/arrayptr

[DDMD] Make Array take the actual type of the stored element
Merge pull request #3019 from 9rnsr/fix11767

[REG2.060] Issue 11767 - doubly mixed-in struct "failed semantic analysis"
Merge pull request #3013 from 9rnsr/fix11793

Issue 11793 - [ICE] Compiler runs out of memory with trivial program: class with own class member instance