further migration to c++11 standard library functions
made safe_fmod() work with convertible arguments
clarified c++11 note
use nullptr as appropriate
compile in support for real amplitudes as well
rudimentary "plugin" system using c++ defines

inspired by eigen's plugin system
some signed/unsigned casts to get rid of warnings