This change does away with separate attributes foreground and background,
opting for an array of color "aspects", where the aspect can vary
over an enum which can either be FOREGROUND or BACKGROUND. This will allow
writing a single set of color-editing code which can work either on the
foreground or background color of a cell.