SampleUtil Enhancements

Enhancements and extensions of SampleUtil. Some of the new functions are currently not used, but will be when the new SoundSource API follows. I adopted the naming "widen"/"narrow" for the conversion of signals between a different number of channels: mono --"widen"--> stereo <--"narrow"-- multi-channel

Some minor issues are fixed in separate commits.

Does libsndfile tolerate ```sf_close(NULL)```?