Cross product of 2 vectors. Produces a vector perpendicular
to the given vectors. We use this for things like making the forward,
up, and right camera vectors orthogonal. If the input vectors are
normalized, the output vector will be as well.

A transformation. Inverting a matrix is expensive, so we keep a forward
transformation matrix and a reverse transformation matrix.
Note: This can be made a little faster if the matricies are non-strict.

There is a seemingly-magical property of transformation matricies, that
we can combine the effects of any number of transformations into a single
transformation just by multiplying them together in reverse order. For
instance, we could move a point, then rotate it about the origin by some
angle around some vector, then move it again, and this can all be done by
a single transformation.
This function combines transformations in this way, though it reverses the
list first so the transformations take effect in their expected order.