Mostly done refactoring for stream compaction. Can't believe this kinda worked on the first try. Really weird artifacts now though.