Fix Integer Over/Underflow in DynArrayCompareInteger

If PInteger(Item1)^ = High(Integer) and PInteger(Item2)^ < 0 then
PInteger(Item1)^ - PInteger(Item2) will overflow and dependant on
{$OverFlowChecks} directive either crash or give wrong ordering. Use safe
compare function also used for other types that don't fit inside Integer