Merge pull request #20 from photex/master

Renamed Platform trait to GraphicsContext
Moved GL implementation into its own folder
Added shade module to the render
Moved the shader object creation into a separate shade submudle. Changed object types to be an enum.
Moved program linkage to the separate shade module
Implemented shader attribute query with storage enum deconstruction.
Implemented uniform block queries
Implemented uniform and samplers queries for the shader program
Fixed uniform queries, implemented sampler type deconstruction. Populating all the program meta data now.
Make the triangle to use all the cool features.
Merge pull request #23 from kvark/shade

Renderthread shader module and its GL implementation
Clean up shader modules
Use rustic type names for higher level enums
Implement Show for UniformValue
Add window closing for triangle example

This causes a task failure or two, but it's a start...
Fix dimensions

Copy/paste fail >_<
Merge pull request #26 from bjz/window-close

Add window closing for triangle example
Merge pull request #25 from bjz/shader

Shader module cleanups
Use Result where appropriate and make info logs optional
Make function names more consistent with opengl