wined3d: Move constant loading into target-specific files.

- Moves GLSL constant loading code into glsl_shader.c and out of the
  over-populated drawprim.c.
- Creates a new file named arb_program_shader.c which will hold code
  specific to ARB_vertex_program & ARB_fragment_program.
- Remove the constant loading calls from drawprim.c
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index cd7cfa0..10accc6 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1344,12 +1344,22 @@
     IWineD3DBaseShader *iface, 
     const DWORD code);
 
+/* ARB_[vertex/fragment]_program helper functions */
+extern void shader_arb_load_constants(
+    IWineD3DStateBlock* iface,
+    char usePixelShader,
+    char useVertexShader);
+
 /* ARB shader program Prototypes */
 extern void shader_hw_def(SHADER_OPCODE_ARG *arg);
 
 /* GLSL helper functions */
 extern void set_glsl_shader_program(IWineD3DDevice *iface);
 extern void shader_glsl_add_instruction_modifiers(SHADER_OPCODE_ARG *arg);
+extern void shader_glsl_load_constants(
+    IWineD3DStateBlock* iface,
+    char usePixelShader,
+    char useVertexShader);
 
 /** The following translate DirectX pixel/vertex shader opcodes to GLSL lines */
 extern void shader_glsl_map2gl(SHADER_OPCODE_ARG* arg);