The containers no longer force the user to use the ptrdiff_t type for
size information. For convenience, size() now always returns an int,
and the size_s() method offers a way to handle arrays with more than
2 billion elements. Internally, we still use ptrdiff_t, though.
Since so much code had to be changed, I took the opportunity to get
rid of capitalised accessors for classes that are lowercase.
MASK to SWIZZLE in the vector templates, rename matrix<> to mat<> for
consistency, implement transposition for all matrix sizes, make matrix
columns private and only accessible through operator[].