Convert ShaderGen3D to structure and C linkage, and remove C++ string usage.

git-svn-id: https://www.williamfeely.info/svn/dxgl@510 8a90861a-4eca-46d5-b744-240ff16d0c4d