add quaternion test program
add quat_to_rot_matrix function
allow setting camera orientation by quaternion
set camera orientation with quaternion
set camera height to zero
allow assigning camera up direction
when setting camera orientation by quaternion, set "up" direction too
use quaternions in renderer