Change EffectManifest and EffectManifestParameter to be plain-old-data.
No need to clamp values coming from a ControlPotmeter.
Fix debug text.
Change EffectManifest / EffectManifestParameter to use const references in setters and getters.
Add EngineEffect and EngineEffectParameter.
Add EffectProcessor, an interface for bundling the core logic of an effect.
Use a ControlValueAtomic<QVariant> for EngineEffectParameter.
Add parameter lookup methods to EngineEffect.
Change the effects system drastically.

* Effect parameters are owned by Effect (not shared pointers anymore)
* Effect logic is now bundled in an EffectProcessor class.
* Processing of effects is now managed by EngineEffect.
Const references.
Remove QMutex from EffectParameter since it no longer has to deal with the engine calling it.
Get rid of mutexes in Effect now that the engine is not calling its methods.
More const references.
More const references. Delete EffectChainSlot::process.