Support snapshot windows

Part 5...

This is where things start to get more interesting. I'm not at all convinced that the all-important logic in `SnapshotPartition` is correct and will need some serious scrutiny and tests.
Happy to add another benchmark if/where we think it might be useful.