Shader class added

More to be done on this (it's just a sketch)