more code cleanup, added ability to use shaders

shaders currently apply to the whole scene
i don't know how to make it apply to just certain stuff.