Make the type the interpolate() function works on a template type,
so that this can be used for arbitrary unit types without warnings.
Internally, it does its math using floating point arithmetics anyway,
so no risk of overflow. (Exception: when just taking the middle point,
but I would hope that no part of the code lives on the edge such that
addition of two values gives an overflow.)
Moreover, add an "math.h" include so that the header becomes
independent of others.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>