Use python instead of python2
Result of running '2to3 -wn *.py'
Adjust to the weird inheritance thing happening in Tornado v3
Fix up str vs. bytes problems uncovered by migrating to Python 3.

In principle, all data traversing the serial port is 'bytes', and all data
displayed to the user (modulo debug messages) is 'str'. However, some
complications arise, e.g. when we want to store the roman numeral II as a
single (unicode) character in the "DOLBY PLII MOVI" status line from the AVR.

Fortunately, most of this patch seems to make things simple (by removing
unnecessary calls to chr() and ord()). although in some cases, this patch
might not actually make things clearer...
Revamp reading of AVR datagrams from the serial port.

The old code seems to depend on some coincidental synchronicity when reading
AVR status updates. However, on the Raspberry Pi, any read of 58 bytes from
the serial port does not automagically end up producing exactly one complete
datagram. Fix this by maintaining a read buffer, where we stuff the input from
the serial port that has not been parsed yet. Then skip bytes until the start
of a datagram is found, and keep readning until the read buffer contains the
entire datagram, and finally pass it on for proper parsing.