- Update min go to go1.21
- Replaced `golang.org/x/exp/slices` with standard library `slices`
- Replaced deprecated `math/rand` with `crypto/rand`
- Removed `rand.Seed` calls as they are no longer needed
- Added standard library `slices.Sort` benchmarks
- In unsafe float code, use newer `Slice` and `SliceData` instead of `SliceHeader`
- replace use of `golang.org/x/exp/constaints` with our own versions and `cmp.Ordered`