Implements various utilities required for new features.
Non-blocking input.
Terminal querying.
Terminal window size derivation (in pixels).
Terminal cell size derivation (in pixels).
Input access synchronization.
The library now attempts to determine the proper terminal device to use when standard streams are redirected to files or pipes.
The library now attempts to use the size of the process' controlling terminal for all automatic sizing and size validation operations when all standard streams are redirected.
Preparing for #23 and more.