.gitignore: ignore *.so and *.import.scm
color.scm: redesign

This patch does away with having a class per colorspace, and a class
per color type.  The former was only done as a convenience for method
lookup for 'colorspace-convert', for which purpose we now use a sparse
table stored as an alist instead.  The latter, class per color-type,
e.g. <rgb-color> or <hsv-color> turns out not to make sense if we want
to support color profiles in the future.

A profile completely defines the interpretation of a color, so in a
sense, a profile itself can be understood to be the colorspace class.
Furthermore profiles can be changed without a colorspace conversion
necessarily taking place.  If we tried to have both color-type classes
and profiles, we could end up in a situation of having a <rgb-color>
object whose colorspace actually used a profile of a non-rgb space.

This patch does not introduce support for profiles, merely implements
a redesign that will hopefully make it more compatible with profile
support in the future.

Colorspace and color-type classes have been eliminated, leaving us
with only two classes: <colorspace> and <color>.  In a subsequent patch
we will drop use of coops classes altogether and just use scheme
records for these object types.