Cache color instances only "weakly"

Replaces the standard hash table used by McCLIM to cache color
instances by a hash table with "value weakness"; this allows
colors to be reclaimed by the garbage collector.