Improved shader connection interface and error propagation.
Implemented DictionaryProgram, disjoint from UserProgram.
Removed self parameter from create_link
Moved the data out of UserProgram.
Enforced shader_param parameter. Added more comments to the shade module.
Merge pull request #235 from kvark/shade

Detached parameter data from the program