util: CommandLineOptions: use appropriate constness
realtime: Runner: support running for limited amount of ticks
apps: add app to run any mpl file using Runner

TODO:
* ability to set any control using command-line options
* command-line opt to stop when "hasData" top-level control is false
core: implement MarSystemObserver interface

Even with a simple network, the additional instruction count within
MarSystem::process() call with no observers active is within 3 orders
of magnitude below total instruction count.

A simple network = a sine source and a noise source with individual
gains, mixed together.

If someone is bothered, they can define MARSYAS_NO_MARSYSTEM_OBSERVERS
compile definition to compile this code out of MarSystem::process().
marsystems: NoiseSource: fill all output rows
marsystems: SineSource: don't access controls by name in myProcess()