Procedural textures, normal maps, and refraction!

This adds materials and a few things along with it: procedural textures, normal maps, and refractions.