Fixed GLSL shaders to work with GLSL version 120 (OpenGL 2.1).

Version 120 uses "attribute/varying" for vertex shader inputs and outputs whereas versions beyond that use "in/out". Similarly, fragment shader inputs were renamed from "varying" to "in". The new VertexShader.h and FragmentShader.h headers provide macros to declare the right type based on the current version. Unfortunately, some of the GLSL code provides in the .cpp source files doesn't get preprocessed so those deal with the same issue with macros embedded directly in the code rather than by including a header.

It would be very nice to move to pure OpenGL 3/4 and rip all this stuff out for the next version.
Merge pull request #151 from johnhaddon/glsl120

Fixed GLSL shaders to work with GLSL version 120 (OpenGL 2.1).