User controlled camera.

Also replaced gluLookAt with own modelview matrix calcs.