It would be nice to have the color of a polygon withing a CSG object preserve the color of its source object through difference and union operations.
The storage of the Color needs to be moved from the storage object that is synced at the end of an op, and therefor obliterates one of the colors and replaces it with a single color.
@breiler attempted to fix the polygon color issue here: #54 but some operations still sync the storage and break the color.
To so this we need to make a Color object in the CSG, and pass a reference to it to the polygons when the color is set, but not when the CSG operations is called.