Mitigated Serial Monitor resource exhaustion when the connected device sends a lot of data

Fixes #2233
Removed leftover debug print
Improved Serial input processing.

Before this patch every byte received from Serial
invokes a String allocation, not really efficient.

Moreover a InputStreamReader is chained on the serial
InputStream to correctly convert bytes into UTF-8
characters.
SerialMonitor: limit buffering without autoscroll

When the "autoscroll" checkbox is deselected the buffer may continue
to grow up to twice of the maximum size.

This is a compromise to ensure a better user experience and, at the
same time, reduce the chance to lose data and get "holes" in the
serial stream.

See #2491