crosstermion 0.1.3

The unification of crossterm and termium behind a common facade for use with feature flags
Documentation

Crosstermion is a utility crate to unify some types of both crates, allowing to easily build apps that use the leaner `termion` 
crate on unix systems, but resort to crossterm on windows systems.

Currently provided facilities are:

* a `Key` type an an `input_stream` (_async_) to receive key presses
* an `AltenrativeRawTerminal` which marries an alternative screen with raw mode
* a way to create a `tui` or `tui-react` terminal with either the crossterm or the termion backend.

### Features

All features work additively, but in case they are mutually exclusive, for instance
in case of `tui-react` and `tui`, or `crossterm` and `termion`, the more general one will be chosen.

* _mutually exclusive_
    * **crossterm**
      * provides `Key` conversion support from `crossbeam::event::KeyEvent` and an `AlternativeRawTerminal`
      * provides a threaded key input channel
      * _additive_
        * _mutually exclusive_
            * **input-thread**
              * Adds input handling by spawning a thread providing input via `crossbeam` channels
            * **input-thread-flume**
              * Adds input handling by spawning a thread providing input via `flume` channels
        * **input-async**
          * adds native async capabilites to crossterm, which works without spawning an extra thread thanks to `mio`.
    * **termion**
      * provides `Key` conversion support from `termion::event::Key` and an `AlternativeRawTerminal`
      * provides a threaded key input channel
      * _additive_
        * _mutually exclusive_
            * **input-thread**
              * Adds input handling by spawning a thread providing input via `crossbeam` channels
            * **input-thread-flume**
              * Adds input handling by spawning a thread providing input via `flume` channels
        * **input-async**
          * Spawn a thread and provide input events via a futures Stream
* _mutually exclusive_
    * _using `tui_` _(mutually exclusive)_
        * **tui-termion** _implies `termion` feature_
          * combines `tui` with `termion` and provides a `tui::Terminal` with `termion` backend
        * **tui-crossterm**  _implies `crossterm` feature_
          * combines `tui` with `crossterm` and provides a `tui::Terminal` with `crossterm` backend
    * _using `tui-react`_ _(mutually exclusive)_
        * **tui-react-termion** _implies `termion` feature_
          * combines `tui-react` with `crossterm` and provides a `tui::Terminal` with `crossterm` backend
        * **tui-react-crossterm** _implies `crossterm` feature_
          * combines `tui-react` with `crossterm` and provides a `tui::Terminal` with `crossterm` backend
* **flume-async**
   * activates 'flume/async'
   * note that 'flume/select' is always active, as it is just a few lines of code without any additional dependencies