Multi soundcard fixes

Now it is ready!

The current solution used a callback thread per sound card.
The clock reference device has it's own callback  
The fifo buffer is moved from the Input channel to the device level. This cleans um the buffering concept.
I have also reduced the required buffer count.
I have done the same approach like at the outputs: The input is now always stereo.
This way we are able to remove the stereo conversion buffer at the input engines as well.

I have tested a lot, and it works now without any pop or click. 

I have also discovered that input devices a very bad for low latency use cases. 
My RMX2 requires 48 ms buffer to run without underflow. The underflow  seams to happen in the device itself, because PA did not report it. (not an issue of this PR)

I have not managed to get rid of the hash lookup in the input path. This might be possible but I don't want to touch Vinyl control, because I am not able to test it. 

With all the tweaks, this solution allows the same ouput latency like my original polling solution. 
For input devices the polling solution requires more latency. So we have finally the best one her in place.