Math: these aren't constexpr by a long shot.
Math: constexpr *Matrix::{fromDiagonal,diagonal}() and also Matrix(T).

Besides all the good things it is now possible to do even more insane
and useless constexpr-fu:

   constexpr auto a = Math::Matrix3x3<Int>::fromDiagonal({1, 3, 2});

   /* 7 0
      0 7 */
   constexpr Math::Matrix<a.diagonal()[2], Int> c(7);
Math: overload RectangularMatrix::diagonal() in subclasses.

...to return proper type.
Math: overload Matrix::diagonal() in subclasses to return proper type.
Math: make Matrix::Matrix(T) constexpr also under CC 4.6.
Don't expose unneeded ES2 extensions under ES3.

They provide the same or slightly different functionality as is present
in ES3 itself, causing confusion. Fortunately this change required only
one modification in Context test and nowhere else.
Update and fix documentation, remove obsolete TODO.

Don't link to inexistent or deprecated things.
Test Mesh::indexSize().

I wonder if it is possible to test the function even more.