Restore serial_output driver functionality

The serial_output driver for Arduino mouse emulator support was losing
data somewhere between sending mouse coords into the OpenCV/parent
process' end of the shared pipe and receiving that data in the
serial/child process' handler.

Reimplement the multiprocessing handler and change the shared data
strucutre from a Pipe to a multiprocessing.Queue.

This lets us

1. block while waiting for data to become available on the queue, and
2. block while sleeping/waiting for the next mouse output update
interval to trigger.