Do not use MSVC Specific macros for min or max values for primitives

Use instead the std::numeric_limits<T>::min() or
std::numeric_limits<T>::max() functions.