Fix bugs with exported varyings.

Change up exported varyings implementation (Simpler and shorter!)

Structs in header files now emitted using mangled names that embed vectorlength and variability in struct C++ struct name.
Fix C++ declaration of pointers to arrays.