[feature] add progress tracked suffix array creation and different algo choice