Add splat_vec* macros.
Add mat3.hh, .thh, and .tcc.

This is mostly a 3x3 port of the 4x4 matrix. It removes a few methods
and adds a couple more. cofactor behaves differently as well since it's
frankly simpler for a 3x3 matrix.

There is no multiply(vec3) because it would be redundant when you have
rotate(vec3). multiply(vec4) is gone because it's a 3x3 matrix and I'm
too lazy to decide how I'd want that to actually behave in the context
of a game engine.

set_rowvec* is gone entirely because the matrix is composed of row
vectors. set_*vec4 is also gone because it would do nothing.