Earlier quoted context omitted.
I'm missing where they are sorted by x-y values. I did a quick and dirty experiment: http://pastebin.com/NjZNRjw1 Seems about 30% smaller than before on http://i.imgur.com/5zwCEF5.png
Wow, that works pretty well. I was mistaken in thinking that either the Dictionary class or the process of sampling would sort them. Mind if I merge that? Or you could submit a pull request. Either would be great! Also, do you know of any resources for learning about how to optimise for gzip compression? Google is just telling me about compression for websites.
I don't know any resources specifically about gzip compression. Demosceners have very practical and fun compression know how, so maybe look into: http://www.farbrausch.com/~fg/seminars/workcompression.html