module-pipetunnel doesn't pause when there is no data
When connecting a pipetunnel, reader and writer nodes are not set to paused if there is no data available in the pipe. This means that pipewire constantly burns CPU cycles polling for input.
The attached patch can remedy this by using a watchdog thread, poll(2), and a semaphor + idle timeout to low pass filter buffer under runs.