Allow users to specify a custom font family for the overlay captions via
a new --overlay-font-family flag, defaulting to "Sans". Validation
ensures the font family is not empty. Updated README, config, and tests.
- Reduce default overlay-final-timeout from 4s to 3s and validate
that non-zero timeout is at least 3s to prevent captions from
disappearing too quickly.
- Limit completed captions to six lines and keep each visible for
at least 3s, improving readability during fast speech.
- Update README to document new VAD behavior and changed defaults.
Set a fixed width on the caption bubble via `gtk_widget_set_size_request()` using
the effective width parameter, and change label alignment from center to left with
fill halign. Update the `--overlay-max-width` help text and README description to
reflect the new fixed-width behavior (still capped at 80% of monitor width).
Move the executable entry point to `src/cmd/captioneer` and split audio, capture, config, caption, and model logic into separate packages under `src/`. Update README with new build/run commands and a package-overview section.