added TerminalSize
[AESH-25]
added a Prompt object that can handle prompt with ansi codes.
note that this changes the api for console.
[AESH-25] [AESH-46]
fix the prompt to show ansi text even after text have been edited
extend its current api to make it ready for curses