Math: renamed MathTypeTraits to TypeTraits.

As there is no Magnum::TypeTraits struct anymore, there is no need to
have redundant name in it. Hopefully Doxygen will handle the difference
between this and Corrade's TypeTraits.h properly.
Math: added Matrix::isOrthogonal().
Math: added Matrix{3,4}::isRigidTransformation().
Math: Matrix::invertedOrthogonal(), Matrix{3,4}::invertedRigid().

Renamed original invertedEuclidean() functions to invertedRigid() and
simplified them using isRigidTransformation().
Math: ability to create Complex and DualComplex from matrix.
Math: ability to create Quaternion and DualQuaternion from matrix.
SceneGraph: renamed {Euclidean -> Rigid}MatrixTransformation{2,3}D.

It's shorter, following changes in Math (Matrix*::invertedRigid(),
Matrix*::isRigidTransformation()).
SceneGraph: added AbstractTransformation::resetTransformation().

It was doable in subclasses, but not via any interface, making some
things impossible.
SceneGraph: assert proper matrix type in RigidMatrixTransformation*D.
SceneGraph: public setTransformation() and transform() for RigidMT*D.

Now it is nearly similar to MatrixTransformation*D except for scaling.
Public functions setTransformation() and transform() assert that the
matrix represents rigid transformation.
Math: added convenience function Vector::isNormalized().
Math: added convenience functions {Complex,DualComplex}::isNormalized().
Math: added convenience {Quaternion,DualQuaternion}::isNormalized().
Math: simplified Matrix::isOrthogonal().

No need to call std::abs() when comparing with zero, as dot() should
always be positive.
SceneGraph: minor code cleanup.
SceneGraph: new class DualComplexTransformation.

Uses dual complex numbers for 2D transformation.
SceneGraph: new class DualQuaternionTransformation.

Uses dual quaternions for 3D transformation.