makeover 5.0.0

Shared theme loading for the make-family apps: TOML theme files parsed into intent-based color tokens, with perceptual derivations and WCAG contrast.
Documentation
# Contributing

## Versioning

A version number tells a consumer what taking the update will do to them, so
each kind of change moves its own digit.

makeover is past `1.0` and answers to ordinary semver. Its `0.x` siblings put
additions on the patch so that their minor stays reserved for looks and
breaks; that rule does not apply here.

| the change | the bump |
|---|---|
| breaks a consumer's build | the major |
| changes a look | the minor |
| adds API | the minor |
| fixes a bug and changes no look | the patch |

A look change is anything a consumer would see differently on screen without
touching their own code: a derived colour, a spacing, a default. Its commit
subject starts `look:` and names its before/after render, which the
`commit-msg` hook in `scripts/githooks/` enforces for the paths listed in
`scripts/githooks/look-paths`.

A look never ships on a patch, so a consumer taking only patches never sees
the screen change under them.

Bento's publish preflight checks the bump against the commits since the
previous release tag and refuses a `look:` commit on a release that keeps the
minor. The marker below opts this repo in.

<!-- bento:bump-policy=look-minor -->