std.algorithm: Remove the hasAssignableElements restriction from HeapSortImpl

This restriction seems unnecessary (as `HeapSortImpl` uses `swap`/`swapAt`, which does not require assignability), and was getting in the way of e.g. sorting a range of `Ref`s.

This was the only thing preventing the sorting of a range of structs with disabled `opAssign`, but implementing `proxySwap`.