Rather than a parsed config file, user_config in config.odin is a plain
Odin value edited and rebuilt in place — no parser, no runtime file I/O,
keeping with the stateless-is-safer principle. Refactors render's palette
globals into an explicit Theme struct passed through draw() so config can
actually reach it. Drops $TERM_FONT_PATH now that font path lives in
config.odin; the packaged Nix build patches the compiled-in default via
substituteInPlace instead of wrapping the binary. Keybinding remapping is
deferred until there's a real action to bind.