adc: rewritten in a more compact way, and ready to be used by iio driver on MPU

Note: some code has been removed since it was thought for asynchronous stream
of data, which is not implemented yet. It will be added again together
with linux driver support.

This permits some hundreds of byte saved in flash.

Signed-off-by: Aurelio Colosimo <aurelio@aureliocolosimo.it>
trivial tasks mcuio_pwm_func: new FIXME comment

Signed-off-by: Aurelio Colosimo <aurelio@aureliocolosimo.it>