The buffering backend for any Cursive backend. Mainly it is created to address a flickering issue with Termion backend.
Inspired by the comment on the similar issue on Termion itself.
let mut app = Cursive::try_new(|| {
let crossterm_backend = backend::crossterm::Backend::init().unwrap();
let buffered_backend = cursive_buffered_backend::BufferedBackend::new(crossterm_backend);
Ok(Box::new(buffered_backend))
});