Eliminated need for shader subclasses

Now all shaders are of type Shader. They are defined in a single .shader
file. this file contains all the information the system needs to create
and link the shader.