I don't know how we'll feasibly solve the multide of potential race conditons and async clean up memory leaks without something like rxjs. So, this is a trial to see the following:
1. How much does it increase bundle size?
2. How effective is typechecking?
3. Does it solve some of the difficult cancelation issues we have?
If we want to use the new version of react-redux we need to be compatible with their types.
Sadly it does not seem to be possible to create a Dispatchable type which can be eiher a plain action or a thunk and still be compatible with react-redux's types becuase they use redux's Store type under the hood which assumes you have an object with a string type property.
Validated that this was correct by looking at the output in `winamp-eqf`'s snapshot tests. A .eqf generated by real winamp with all the bands set at the midpoint outputs values of 33.
Fixes#749
Looks like I had a .editorconfig in the project root (not sure how it
got there) which was git ignored by my ~/.gitignore. It also turns out
that prettier will respect the indent settings in .editorconfig.
This sets my `.editorconfig` to use the Prettier default, checks it in,
and also reformats all the CSS.
Fixes#684