Mercilessly refactor queue internals to support batches; with 1,000 batch, perf jumps from 4.5M to 90M