Issue 13404 - heap-allocating a struct passes TypeInfo_Pointer to the GC, not TypeInfo_struct

When allocating a struct with "new", do not pass the pointer type info to the GC, but the struct type info.

The fix also provides a small performance improvement as it no longer calls the virtual function TypeInfo.next() multiple times.

https://issues.dlang.org/show_bug.cgi?id=13404

This PR depends on https://github.com/D-Programming-Language/dmd/pull/3935