Enable batched radix sort using CUB library
Enable batched radix sort using CUB library

CUB library provides `DeviceSegmentedRadixSort::SortKeys` and `DeviceSegmentedRadixSort::SortPairs` functions that allow sorting multiple segments at the same time.

`GpuSortRewriter` pass now supports any sorts where the sort dimension is minor.
If the `batch_size` passed to the custom kernel is greater than one, scratch size is increased to hold the segment offsets at the end of the buffer.
