func (s Style) Decompose() (fg Color, bg Color, attr AttrMask) {
	if s&styleFgSet != 0 {
		fg = Color(s>>32) & 0x1ffffff
	} else {
		fg = ColorDefault
	}
	if s&styleBgSet != 0 {
		bg = Color(s & 0x1ffffff)
	} else {
		bg = ColorDefault
	}
	attr = AttrMask(s) & attrAll
	return fg, bg, attr
}
Decompose breaks a style up, returning the foreground, background,
and other attributes.
package tcell
type Style int64
const StyleDefault Style = 0
const (
	styleBgSet = 1 << (iota + 57)
	styleFgSet
	stylePalette
)
func (s Style) Foreground(c Color) Style {
	if c == ColorDefault {
		return (s &^ (0x1ffffff00000000 | styleFgSet))
	}
	return (s &^ Style(0x1ffffff00000000)) |
		((Style(c) & 0x1ffffff) << 32) | styleFgSet
}
func (s Style) Background(c Color) Style {
	if c == ColorDefault {
		return (s &^ (0x1ffffff | styleBgSet))
	}
	return (s &^ (0x1ffffff)) | (Style(c) & 0x1ffffff) | styleBgSet
}