wrote system_base, tests not yet ready.
I'm thinking about switching the reference to an fft engine in
projection to a unique_ptr, so that I can daisychain it into the
system class. (this way, systems are selfcontained and could, for
instance be returned by a function without the referred-to fft_engine
going out of scope)