vlib-video: continuous-frame session + pluggable encoder
Session struct + process_frame state machine mirroring
mlx-vlm-continuous' ContinuousSession (CONTINUOUS.md, watchdawg). Rewind
on ignore_frame trims KV via llama_memory_seq_rm but intentionally does
NOT roll back recurrent state (matches MLX 'ghost memory' semantic in
CONTINUOUS.md:34, avoids T-Rex trap). Encoder is an injected interface
with pair2d (works on any backend) and conv3d (Metal/CPU only) impls;
session itself is encoder-agnostic. See VIDEO_CONV3D_CPP_DESIGN.md ยง4.