Inputs and outputs can use semantic names

When HLSLCC_FLAG_INOUT_SEMANTIC_NAMES is set the names of GLSL shader
inputs and outputs match the semantic names given in the HLSL shader.
The main motivation for this is to make it easier to tell GL which
varyings are to be captured for transform feedback.
The HLSLCC_FLAGS can now be given on the offline compiler command line.
Use named constants for uniform blocks

This allows non-vec4 typed constants to be used with UBOs.
Add app for testing integer data in shaders.
Split GetDeclaredName into GetDeclaredInputName and GetDeclaredOutputName

GetDeclaredName could fail to infer if it was being called for an input
or output name.
Also fixed a dot operator appearing on declared names of constant
buffers (non-ubo).