sincos fixes (issue #5)
Constant register rebase and sub-vec4 vector constants no longer declared as vec4.

vs5\sincos shows the problem.
// cbuffer $Globals
// {
//
//   float angle;                       // Offset:    0 Size:     4
//   float2 angle2;                     // Offset:    4 Size:     8
//
// }

cb0[0].x = angle
cb0[0].yzyy = angle2.xyxx

Rebase angle2 so that .y maps to .x, .z maps to .y
Add the fine and coarse derivates. (issue #5)

But GLSL does not have separate fine and coarse grain derivates yet.
ExtrudeGS app changed since lightdir is now a vec3 after compiling to GLSL.
Extend constant rebase code to handle additional cases.