implement the camera and mouse classes
next onto the diffs between ch 4 and 5 for other stuff