fix: update terminal size asynchronously
Update size regardless of calls to read_key
Make sure threads are finishing when dropping the terminal
Update size regardless of calls to read_key
Make sure threads are finishing when dropping the terminal