Fixed bug that prevented shader compilation due to bad swizzling for op inputs.
Add vertex color selection to vertex shader. May choose to use material color instead of vertex color. Still mostly unimplemented.

- Rename color1 and color2 to ambColor and matColor. Makes Mat struct easier to understand.
Added Lighting Pipeline emulation. Actual vertex lighting calculation is faked, we just return a constant value for light contribution. This does fix the color channel selection between the Lighting and TEV stages, so a lot of materials work better.

- Materials now have two material and two ambient colors that are set at draw time
- Split the TEV color and alpha ops into separate distinct sections in the HLSL. Easier to read.
- Added lots of notes to the Mat3 and Material structure in mat3.h
Fixed sampling from textures with only one channel. Previously we were sampling this tex into a float4, which filled the other three channels with 0, 0, and 1.0f. Obviously this isn't what we want, so now we sample and swizzle to .rrrr. This required plumbing the Tex1 data all the way into the shader generator, but now we have compile time texture format information, so we can save some runtime instructions and bandwidth.

- Removed the GisAFlags from the pixel shader constant buffer. Now that we know the tex formats at compile time, we don't need them at run time.
MASSIVE PROJECT RESTRUCTURE

Reorganized dependencies into static libs. Cleanup the the
.sln/vcxprojs. All dependencies are now local. This should work for
remote environments