Bug 1094564 - Used SegmentedArray in SnowWhiteKiller. r=smaug.

This patch generalizes SegmentedArray a little, and then uses it instead of
nsTArray in SnowWhiteKiller. This avoids some large (sometimes 1 MiB or more)
allocations which were usually mostly unused.