Following up on #34, allow using not just arbitrary FDs, but arbitrary virtual streams by making `Term` a trait. Use case: displaying TUI to clients on an SSH server.