First stacked PR of plan.md M1 (the request-plane cut). Adds the typed
omni vocabulary from design.md §6.1 as a new, additive, torch-free module
(fastvideo/api/omni.py):
- OmniRequest: declared TaskType, typed ModalPart inputs, AR SamplingParams
vs DiffusionParams, OutputSpec, per-node NodeOverrides.
- OmniOutput: named Artifact slots with provenance (kills extra["audio"]).
- OmniEvent: one progress/chunk/final streaming union.
- Adapters to/from GenerationRequest / GenerationResult / VideoEvent so the
new types run through today's VideoGenerator unchanged.
Later stacked PRs evolve GenerationRequest into OmniRequest in place and
retire the adapters. No existing surface changed.