Use macro instead of std::min in pointer alignment checks

Improve MSVC debug performance by avoiding some runtime checks.