Also convert most functions in `rt_math.h` to `constexpr` by
implementing `min()` and `max()` natively. `constexpr` indeed has a
positive impact on the generated assembly.
This change allows for an arbitrary number of arguments to `min()` and
`max()` by using recursion on variadic template functions. The
disassembly of GCC 6.3 was carefully checked for regressions, but
nothing was found other than the flipping of arguments (recursion is
now `(((a,b),c),d)` and was `(d,(c,(a,b)))` before).
I also unified the common type `_Tp` to to the even more common `T`.