Introduced ProgramShell, refactored shader parameter logic
Minor fixes and better docs for shader parameter stuff
Merge pull request #154 from kvark/shell

ProgramShell concept