New effect: Bars
Better frequency scaling by modifying parameters in melbank.py
Mel graph [before](https://imgur.com/a/xN9PA), [after](https://imgur.com/a/YYGLk)
This stretches out the lower end with vocals and bass, and squishes up the high end which usually takes up moer space on the strip for similar "sounds". Now it looks more like you would expect it to, based on what you hear (more pitch-like than frequency)
Added static effects, added new colour modes, improved gradient scrolling and mirroring, cleaned up stuff behind the scenes, added lots more options for different effects
Over a dozen small performance optimizations
* Memoization for linspace generation
* Removed unnecessary copies
* Limited the rate at which information is printed. Excessive `print()` output was causing issues for some SSH users
Previously there was no limit to the number of bytes that could be sent per packet. This commit enforces a limit on the amount of pixel information per packet.
Add limitation note saying that even numbers of pixels must be used. Clarify that the 256-pixel maximum limitation only applies to the ESP8266. Add note saying that these restrictions will be fixed in a future update
Zero pads the audio time samples until the length is equal to the next largest power of two. This improves the algorithmic complexity of the FFT calculations.
Initialized the Hamming window when the module is loaded instead of every loop.
Replaced a call to numpy.roll() with direct array index manipulation.
Move Stereo Mix info into a new section called "Audio Input". Add some additional information about virtual audio devices for Linux and OSX as well. Add new block diagram showing the different input topologies.