Using std::numeric_limits<> instead of macros INT32/INT64_MAX/MIN

Unfortunately, the last such macro, used by Alloc.h cannot be
removed, since it's supposed to be a constant. Thus, the
-D__STDC_LIMIT_MACROS cannot be removed from the compilation flags