[RDY] Prepare to rewrite the terminal UI

This follows #1565 and extracts some changes from a [huge commit](https://github.com/tarruda/neovim/commit/8026446ff2a9eec1ef26c8279feaec61b0a44da8) that completely rewrites the UI layer and removes all term.* files.

Libtickit/libtermkey are being used to implement the new terminal UI, so I add them as bunded dependencies in this PR
Do we need function `microdelay()`? The code of that function could be placed here.