This PR decreases memory usage on semantic segmentation problems. Previously, we were rasterizing the entire scene, which would lead to running out of memory on large scenes. Now, we rasterize on the fly for individual chips which allows us to chip large scenes.
The predict and eval steps still store the entire label array in RAM, which will be fixed in another PR. (See unchecked bullet points in #616) But, as a step forward this PR switches to using uint8's to store the labels, and avoids some redundant copies.