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 #3019 from 9rnsr/fix11767

[REG2.060] Issue 11767 - doubly mixed-in struct "failed semantic analysis"