Broke some modules out and added support for type safe color conversions.
Added YUV and HSV, and Convertable instances for YUV.