[geometry] fixed pythagoras calculation for Windows (MSVC), the problem was that std::sqrt(int) is ambiguous. Previous version did it in two steps, we now use boost::numeric_cast
[geometry] fixed bug of MSVC. This provable bug is postponed by MSVC. See https://connect.microsoft.com/VisualStudio/feedback/details/715626/msvc-needs-namespace-even-if-it-is-hoisted#
[geometry] fixed bug of MSVC. It apparently cannot pass function pointers of template functions by reference (with non-template, it could...)