Adding pragma once to headers to prevent duplicate definitions when including the headers.
Adding very initial Quaternion struct.
Adding overloads of static Vector2 methods to have an output parameter.
Adding output parameters to Vector3 methods like Vector2 methods.
Added output versions of Vector4 methods.
Made some simple optimizations (potentially performance, but also just readability by having fewer jumps) by inlining the various length computations in the vector methods.