note on BytesToRead crashing on Windows
Big rewrite to support multi instances and keep the serial port opened between levels