* termio: new termio module
move the tcgetattr and tcsetattr functions in a new termio module.
The code needed refactoring as different OS have different fields
size, position and number for the C.termios structure, which
could not be correctly expressed consitently otherwise.
It has the positive side effect to reduce the number of unsafe calls.
New testing code was also added for the readline module as it is
relying of the feature.
* apply 2023 copyright to the new files too
* added functions
added:
- get_cursor_position()
- set_terminal_title(title string)
* implement term.get_cursor_position and term.set_terminal_title on unix
* Cleanup
* make x,y fields of term.Coord mutable
* fix vrepl compilation
* use more descriptive var names in term_test.v
* do not change the current terminal title in dumb terminals; do not test term.set_terminal_title outside of CI
* unix: in term.set_terminal_title, return true even for dumb terminals
Co-authored-by: Brent Pryer <brent@pryermachine.com>
Co-authored-by: Delyan Angelov <delian66@gmail.com>