feat: support multiple configurable fallback fonts
config.odin's fallback_font_family was a single fontconfig family query,
resolved to one font.Style.Fallback face. Replace it with
fallback_font_families ([]string): an ordered list of fontconfig
queries, each independently resolved and loaded (best-effort, same as
the existing bold/italic variants), tried in order per glyph missing
from the primary font until one has it.
font.Font_Set gains fallback_faces/fallback_caches (parallel dynamic
arrays, sized to however many configured families actually resolve),
and font.get loops through them in order. Style.Fallback is removed
from the enum since it no longer maps to a single fixed slot.
resolve_font_paths (main.odin) now also returns a fallback_paths list,
threaded through font.load_font_set at all three call sites (startup,
change_font_size, e2e_start).
nix/package.nix and nix/home-manager-module.nix updated to expose
fallbackFontFamilies as a list, building the Odin slice literal from
it.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>