added software rendering classes
fixed rounding errors in Color