Fix issue with USB debugger

Added a constructor option to the debug controller to decide whether to
use asynchronous or synchronous reading from the debug data stream. For
emulator transports the reads will be performed asynchronously