Math: improve integer/float Vector multiplication and division.

Operators that are part of Vector are operating only with the same type
as Vector itself, operators for multiplying/dividing integral vectors
with floating-point numbers and vectors are now out-of-class and enabled
only for integer vectors. It allows better control (e.g. multiplying
integer and floating-point vector will _always_ result in floating-point
one). Thoroughly tested integer/FP operations and also reworked and
tested operator and funciton reimplementations in subclasses, both for
value correctness and result type correctness.
Math: removed integer/float RectangularMatrix multiplication and division.

We would need to duplicate all the functionality found in Vector, which
I don't think is needed at all. If anyone needs to do this, it is
possible to "linearize" the matrix into long vector and do the
operations on it.

Also updated subclass operator implementation, added tests for it, both
for proper returned value and proper result type.
Math: test also Matrix subclass function implementations.

Similarly to what is already done for Vector and RectangularMatrix.
Math: no need to explicitly overload operator=().

It is created automatically.
Math: fix and test RectangularMatrix*Vector operation.

How did I forget to test that?
Math: added bitwise operations for integer Vector.
Use `size >> mipLevel` to compute image size at given mip level.

This is so awesome trick.
Updated matrix/vector documentation.