ColorTable Cache

Adds a weak cache for `ColorTable`s to avoid re-creating them unnecessarily.