This crate defines ReadLayered and WriteLayered traits which extend
std::io::Read and std::io::Write with additional functionality
useful for performing I/O through layers of buffering and translation.
And it defines LayeredReader, LayeredWriter, and LayeredDuplexer
types which implement ReadLayered, WriteLayered, and both,
respectively, by wrapping implementations of std::io::Read,
std::io::Write, and both, respectively.