Some changes, additions

Hi there! I made some changes to your library:

Functionality:
* Added vec3_reflect() and vec4_reflect().
* Interchanged the order of all loops to that memory is accessed serially, like it was in mat4x4_from_vec3_mul_outer()
* Rewrote mat4x4_invert to one using Laplace expansion instead; the previous one didn't seem to work at all, returning wrong data. The new function also uses 96 multiplications as opposed to the previous one using 160.
* Removed all the memcpy() functions, and instead write directly to the output. You might want to revert this if you had some reason doing that.

Style:
* Fixed spacing everywhere, eg. (v,v) to (v, v)
* Removed braces around single statements, as it was inconsistently applied.
* Added ".f" to all values, so that they are explicitly floats instead of doubles. Also unified style, eg "0.0f" to "0.f"