Just yanking your chain Ash, we all know you've got a full plate, and whats been done is incredible.
Anyways, back on topic, would it be possible to fill shapes on a canvas?
You wouldn't need a function to draw polygons, the user could do that, but if it was possible to fill all pixels from a point within the poly then stop when all contiguous pixels are found.