isSquare function and allowing 4x4 matrix and 3sized vector multiplication

Now you can make a multiplication between a 4x4 matrix and a 3-sized
vector. This is useful for 3D programs that uses operations with
matrices so you don't have to worry about the 4th usual component of 3D
vectors.