Work in progress refactoring of Shader to use an abstract base class.
Abstract base class for shaders.
Fixed warning.