added refractions and Beers law
added material to SceneLight
refactored codebase, created Renderer class