changed color attributes to use uint8 elements

Previously we were just using floats for all attribute elements to keep
things simple, and this is a step in the direction of more specialized
attributes.