Revert "Revert "Rename ROOT::Shadow to ROOTShadow::Shadow against MSVC 12,13 bug.""

This reverts commit f0dc8d295c99353ca36999ddc8d4cf2e233e3952.

It does fix the MSVC bug, but only partially.
Move GenerateInitInstance into ROOTDict (MSVC bug workaround).
Do not rely on implementation side effects; use proper class name.