This supports now curly, double, dashed, and dotted underline styles
where trhe terminal supports it. This works well on Windows Terminal,
reasonably on iTerm2, Alacritty, Kitty, and probably others.
The wasm mode terminal includes support for this, dependent on the browser
capabilities.
The macOS Terminal just changes the background color. Legacy Windows
console does nothing.
We will try to provide a regular underscore as a fallback. A new style.go
demo is included to see some style combinations.
This causes colors that are set that are low numbered to
be treated as themed colors -- basically honoring the palette
of the terminal.
The Style and Color implementations have changed quite a bit
to permit growth -- the colors are now 64-bits wide to permit
using the upper bits as flags, and to leave room for a future
alpha channel.
There is a new TrueColor() method on colors that obtains the
value as strict RGB value, and this will be used in lieu of
whatever terminal colors are provided -- giving the application
full control over the color space if they want, without
forcibly clobbering user preferences for terminals for the
vast majority of cases.
Indexed colors are created with the new PaletteColor API.