Backends now have to send input to the given `chan::Sender<Event>`.
They send these events from a separate thread, allowing selection
between input and callbacks.
This currently breaks the BearLibTerminal backend, which requires all
calls to come from the UI thread.
This might not be super-safe for the ncurses backend also. We hope that
input and output are separate enough that they can run concurrently without
problem.
* Inital draft of reposition code.
* throwing it all in git so I can show @gycos the mess I made
* Cleaning up the example and removing that garbage getter function from StackView. More thought needs to be applied to that API.
* modified stackview to locally draw background, currently every frame. Adjusted surrounding elements to mirror this change.
* fixed dirty flag on stackView to use a cell. Also added dirty events on window resize.
* Final code cleanup.
* Fixed all highlighted issues in PR #200