miniterm: use cancel_read instead of timeout for alive flag polling, when available

and gone is the (small) CPU load when idle
diff --git a/serial/tools/miniterm.py b/serial/tools/miniterm.py
index 2e6865f..7b4e3af 100644
--- a/serial/tools/miniterm.py
+++ b/serial/tools/miniterm.py
@@ -868,9 +868,12 @@
                 parity=args.parity,
                 rtscts=args.rtscts,
                 xonxoff=args.xonxoff,
-                timeout=1,
                 do_not_open=True)
 
+            if not hasattr(serial_instance, 'cancel_read'):
+                # enable timeout for alive flag polling if cancel_read is not available
+                serial_instance.timeout = 1
+
             if args.dtr is not None:
                 if not args.quiet:
                     sys.stderr.write('--- forcing DTR {}\n'.format('active' if args.dtr else 'inactive'))