Initial work on Shader EDSL
Remove temp emacs file
Two changes:

1. Move constants to expressions rather than variables
2. Add support for swizzling
Add functional dependencies to make everything a bit safer
Some more thinking about shader program structure
Implement new way for accessing shader attributes:

Previously, I was looking for a way that the type checker would be able
to prevent accessing vertex attributes that didn't exist when writing
vertex shaders. That seems to be impossible without having absolutely
disgusting types that are unmanagable and inextensible. As a result we'll
settle for a half measure at first. We can parameterize the shaders to
typecheck against the vertex, but then we'll have to check that the attributes
line up in the shader at runtime.
Remove unused module
Fleshed out some of the GLSL generation code
Flesh out simple transparent shader
Put vertex attributes in correct order
Phantom types need to use newtype keyword
Add Vec2 shader types
Finish full working example of EDSL
Don't spit out warnings -- but it needs to be fixed
Convert all existing shaders to new EDSL
Fix a few more bugs. All shaders work now.
Remove old shaders
Merge branch 'master' into ShaderDSL
Move all shader DSL types to Base.hs
Small syntax fix