perf: survey lists in one pass
Each list read ahead to its end to find the marker width it needs, and each item to find whether it is loose, so nested lists read the same events again at every level. A top-level list is now surveyed once for every list and item inside it, and they look their answers up by where they start. About 2% faster on the CLI over corpora A+B.
Parent8ddd031
3 files changed+162-86
StackedSplit