Split classes into one per file

and optimized header includes
Merge remote-tracking branch 'origin/master' into android-master

Conflicts:
	main/drum_machine_main.cpp
	main/subtractive_synth_main.cpp
	src/basic_elements.cpp
	src/fft.h
	src/io_elements.cpp
	src/io_elements.h
	src/midi_wrapper.cpp
	src/portaudio_wrapper.h
	test/test_convolve.cpp
	test/test_filterchain.cpp
	test/test_filters.cpp
	test/test_oscillators.cpp
	test/test_reverb.cpp
	test/test_wav.cpp

Resolved the split of files into one class per file
Added LFO to oscillators
Added LFO support to gain
Added LFO support to subtractive synth
Updated all gains to consistently use decibels
Merge remote-tracking branch 'origin/master' into android-master

Conflicts:
	Makefile
	main/subtractive_synth_main.cpp
	test/test_oscillators.cpp
Added LFO bindings