Add heap sort implementation

It actually doesn't work :P

This would work: `for end in range_inclusive(1, count - 1).rev() {`, but maybe it is a little unclear. I think I prefer the current while loop.