change orientation to use quaternion, so it's constrained to rotation orientation only
avoid situations where the matrix can be recalculated without setting our own pos/dir/up/right
do a cleaner job initializing OpenGL state per object (this is slower but less surprising)
clamp the ThirdPersonCamera follow distance
adjustments to default color values
additional build configs