* Gadget, Text, and Graphics (and a few other gadgets) now inherit from
`GadgetBase`. This removes `background_char` and `background_color_pair`
from many gadgets where these attributes/parameters did nothing.
* `StackLayout` added. Stack layouts position their children horizontally or
vertically and resize them to use all available space. Child height or width
proportions can be set with the `proportions` attribute.
* `add_syntax_highlight` added to text gadgets. `Pygments` added as a dependency.
Additional Changes
- `ColorTheme` is now a dataclass (instead of a `NamedTuple`).
- `ScrollView` is themable (again)
- Character attributes of gadgets, such as `Text.default_char` or
`Gadget.background_char` can now be set with styled `Char`.
- Gadget size and position are locked during rendering for thread safety.
- Gadgets that inherited scroll view now inherit `GadgetBase` and have a
scroll view.
- Updated description of transparency for Gadget.
- Fix several occurrences of improper escapes in strings.
- Moved `Char`, `style_char`, and `coerce_char` into `text_tools`.
- All layouts (except split layout) remove hints from children.