added a spin lock for tag_colors (not strictly necessary, but ctb likes explicit things i hear)