added camera and frustum classes
uniform shader variables can now be shared by multiple programs
added global uniform class
did some work on the material class