Constructs a new shader.