[BUG] `getch` in `_get_pixel_size` hangs when terminal doesn't have the feature implemented
**Describe the bug**
Calling `import pytermgui` spawns a `Terminal`; on Windows terminals (tested: Windows Terminal, Powershell, and the built-in VS Code terminal), the Terminal constructor attempts to call `_get_pixel_size` after sending the (ignored) ANSI terminal command `[14t`, to which Windows terminals do not respond. The resulting `getch` call blocks until a key is pressed.

**To Reproduce**
Steps to reproduce the behavior:

1. On Windows, start any Python file containing `import pytermgui`, within Powershell or Windows Terminal.
2. Further Python code does not run until you push any key, which causes the `getch` call to return (and set pixel size = (0,0) due to it not finding a `;`).

**Expected behavior**
On terminals that don't support ANSI terminal commands, don't hang trying to get pixel size.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**System information**

```
PyTermGUI v3.2.1

Python: 3.9.4
Platform: Windows-10-10.0.19041-SP0
```

**Possible solution**
Is it sufficient to add an additional check to get_chars (line 135 in input.py) that checks `msvcrt.kbhit()` prior to any `getch` call, and returns an empty buffer if `kbhit` returns false?
diff --git a/pytermgui/input.py b/pytermgui/input.py
index 9906f83..3ef6bba 100644
--- a/pytermgui/input.py
+++ b/pytermgui/input.py
@@ -132,6 +132,9 @@ class _GetchWindows:
 
         # We need to type: ignore these on non-windows machines,
         # as the library does not exist.
+        if not msvcrt.kbhit():
+            # Return empty string if there is no input to get
+            return str()
         char = msvcrt.getch()  # type: ignore
         if char == b"\\xe0":
             char = "\\x1b"
['pytermgui/input.py']