implement blinn_phong shading

and refactor the matte shading to aid modularity