Update string marshallers to V2 shape (#71849)
* Update to string marshallers to new V2 shape.
* Fix incorrect BStr casing.
* Use NativeMemory.Alloc/Free where possible.
Avoid initialization of marshaller when not used.
Remove unneccessary unmanaged->managed APIs for In marshallers.
* Add a ClassLoader::LoadTypeByNameThrowing overload
that can be used to load nested classes.
* Allocate precise amounts for UTF8 and ANSI marshallers.
* Use CoTaskMemAlloc/Free
* Keep allocation in local.
15 files changed: