SwiftICP 2.0.0

Dependency-free release built around an internal flat k-d tree, a parallel
correspondence search and a Swift 6 concurrency-clean API.

Breaking: init and align throw; iterate becomes align(options:) taking
ICPOptions; getRigidTransform becomes static ICP.rigidTransform;
applyTransform becomes ICP.apply. KDPoint3D, init(_:_:), getRTMatrixSVD,
useDualPathAlignment and Mat4.fromRowMajorR are removed. Requires Swift 6.0
tooling.

Fixes degeneracy detection, which previously reported false for every
degenerate input, and removes all traps on bad data in favour of ICPError.

Aligning 100k points drops from 7.2s to 136ms against 1.x, at the same
~5e-16 RMSE.