The sound and microphone redirection channels (and in part TSMF)
did not properly decouple encoding/decoding from the backends used
to play/record sound.
Encapsulating encoding/decoding in rewritten freerdp_dsp_* functions
with variable backends, simplifying alsa/oss/pulse/... audio backends.
This patch adds some checks for the TSMF channel:
* checks malloc / calloc / strdup / _strdup return value
* checks for available bytew before reading in a stream