changed multiplication order to left-to-right (vector * view * proj) because it generates less instructions than the other way around. also bugfixes involving missing functions/missing inlines
matrix4f now default-constructs as zero-matrix, fixed up perspective calculations, made cross-product probably worse, revert that perhaps, added perspective_fov