Issue 12231 - ICE on the class declaration within lambda inside template constraint

https://d.puremagic.com/issues/show_bug.cgi?id=12231

- If some sort of symbols are declared inside template constraint, the *instantiating* template should be specially mangled to avoid name collision. (Use `__U` instead of `__T`)
- Even inside constraints, lambdas should have unique names.

See the detailed test cases in `test/runnable/mangle.d`.

By this change, theoretically all of mangled name collisions will be solved.