Redesign Material interface.

Need to reimelement reflection and refraction.