* feat(argon2): switch backend to argon2-rust
Replace RustCrypto argon2 with argon2-rust 1.0.0 from crates.io.
Keep the public JS API. Verify accepts node-argon2 PHC param order
and associatedData. The bench pins the same raw params, salt, and
tag across implementations.
* fix(argon2): keep Node 22 tests and bound verify threads
Skip the node:crypto.argon2Sync comparison on runtimes that lack it.
Cap worker threads at available parallelism so a PHC p= value cannot
spawn one OS thread per lane. Allocate tag buffers with try_reserve
instead of vec! so a huge outputLen is a JS error, not a process abort.
* fix(argon2): skip node-argon2 interop when its native addon is missing
node-argon2 0.45 has no darwin-x64 prebuild. Intel macOS CI runs x64
Node on an ARM host, so a static import crashed the whole spec file.
* test(argon2): compare against node:crypto argon2
Drop the node-argon2 native addon from tests. Interop uses the
builtin KDF, which is available on every CI host that has it.