faster merge sort (but unstable)