Physics: default constructors for shapes.
Math: rework of component-wise matrix and vector functions.

First, removed functions which can be done with Vector's member
functions and functions from Functions.h. More flexibility and less
redundant code which leads to easier SIMD implementation later.

    Vector4 a;
    Float b = a.maxAbs();         // before
    Float b = Math::abs(a).max(); // now

Second, removed all functions from RectangularMatrix which are
implemented in Vector and added conversion from RectangularMatrix to
Vector and back. Also for more flexibility and less redundant code (i.e.
reusing SIMD-optimized Vector::max() instead of writing it again).

    Matrix4x3 a;
    Float b = a.max();            // before
    Float b = a.toVector().max(); // now
Math: doc++
Math: added sqrtInverted() function.

There are SIMD instructions for that, so why not have it in place.
Math: added Vector::lengthInverted().

Also because there are SIMD instructions for that.
Added support for uniform arrays.

Also not including Math/Matrix.h in AbstractShaderProgram.cpp and using
just RectangularMatrix everywhere.
Made some constructors constexpr.
Physics: very minor code cleanup.
No need to have `const` also in function declarations.