/// Opaque render backend trait with downcasting capability.
/// Core crate defines this trait; UI crates downcast to concrete implementations.
/// This enables true backend independence — core compiles without Ratatui.
/// Abstraction over the terminal output backend.
/// Uses trait objects (dyn) at the compositor boundary for runtime flexibility.
/// Performance: vtable indirection is dispatched once per frame/window, not per cell.