Refactoring (step 2).

* Extracting IFilter interface.
* Changing Filters to in-place effects.
Refactoring (step 3).

* Filters, Players, etc. now work on double[]s (instead of byte[]s).
* This gives us much more precision when apply filters/effects.
Adding scale/fade filters to Arpeggiator Main.