App wiring: Repose platform runner + sim stepping + viewport mount.
A game provides a root view and a [ShellHooks] implementation; the
shell owns the frame loop glue (desktop runner, fixed-step sim advance,
gamepad polling). Per-game UI stays in the game crate as Repose views.