Engineering Lossless Sequence Prediction with Compact Data Structures