Normalize paths from any client format to a consistent OS-native form.
Handles MSYS2/Git Bash (/c/Users/... -> C:/Users/...), mixed separators,
double slashes, and trailing slashes. Uses forward slashes for consistency.
Canonicalize a path and strip the Windows verbatim/extended-length prefix (\\?\)
that std::fs::canonicalize adds on Windows. This prefix breaks many tools and
string-based path comparisons.
Canonicalize with a timeout guard. On Windows, std::fs::canonicalize can hang
indefinitely on cloud-synced paths, reparse points, or network drives.
Falls back to the original path if canonicalize doesn’t complete within the timeout.