memra-kv — the dual KV/recurrent cache, extracted (Phase D, ARCHITECTURE-H100.md §5).
Moved VERBATIM from memra-engine/src/cache.rs behind the KvDev seam: the cache only
ever needed 7 device ops (alloc/copy/set), so the trait is that surface and nothing
more. The append/dequant KERNELS stay in the engine fatbins — this crate owns the
structure, sizing math, and the KV format policy (env-selected, shared by the engine's
fatbin router and every cache consumer). memra-engine re-exports this as cache so
call sites are unchanged.