Updates

-Added a camera object.  Handles perspective and view matrices, as well
as moving throughout the world.
-Added a set uniform for matrices in the shader program class.
-Updated the test vertex shader to use matrices for each vertex point.
-Updated the test state to use the camera.  Supports basic walking with
AWSD, and looking around via the left and right arrow keys, and up and
down via the up down arrow keys.  There is currently a bug with how the
view is transformed which needs to be fixed still.