Support double precision floating point immediates.
Added exp test shader and got it compiling.

Added vs5\exp test shader.
TranslateVariableName now performs int/uint casting.
Declaring a user-defined output will now make use of the
aiOutputDeclared array to keep track of what registers have been
declared and avoid duplicate declarations.