Some fixes to how EngineVinylSoundEmu gets its speed data.

* Revert rateEngine changes I made in November to rate-limit to 10FPS.
* Don't use rateEngine anymore in EngineVinylSoundEmu (we could remove it?).
* Use speed instead of rate in EngineControl::pickSyncTarget (since rate
  includes baserate and is an internal detail of EngineBuffer).
WIP: Fix GLSL renderer.
Tweak alphas to match GLWaveformRendererFilteredSignal.
Make framebuffers 4x the size of the widget and downsample with linear interpolation.
Add logic to WaveformRendererSignalBase to get per-band gains.
Make right-clicks on the GLSL widget call debugClick().
Delete max-signal shader because we don't need 2-passes anymore.
No need for visual indices when rendering the final quad.
Pop matrices after we push them.
Draw the horizontal axis in GLSL waveforms.
Remove some old comments and use the common gain calculation method.
Use WaveformRendererSignalBase::getGains to calculate signal gains in all renderers.
Only adjust per-band gains if EQs are enabled. Fixes Bug #1306257.
Add re-entrance protection in MessageHandler caused by writing to a closed file.
Log samples.
Move waveform enums out of AnalyserWaveform.
Fix playlist selector knob on Reloop Terminal Mix script.
Remove computemaxsignal.frag from the resource file.
Load shaders from the resource file instead of the filesystem.

This is helpful during development but only works inside a development tree. We
should detect development trees here too.
Fix some bugs with waveform preferences.

* Waveforms reloaded every time you open the preferences.
* FPS slider didn't update at boot.