Bug fix. Reset size information when clearing the history.
Otherwise the next historyAdd will access freed memory, and crash.
New feature: Recognize Page Up/Down keys and use them to jump in the history (start, end).
Note: Unix support only in this checkin.
      Windows support TODO.
Note: Recognizes the Insert now as well, but doesn't do anything with it.
      This may be used in some future extension.
      A possibility would be to have an additional overwrite mode, and
      use this key to toggle between the two.
Added windows support.
New feature: Accessor for the history max len.
New feature: Maintain a cut/paste buffer.
The existing bindings for Ctrl+k, Ctrl+u, and Ctrl+w are
modified to fill the cut buffer with the characters they deleted.
The new binding for Ctrl+y inserts the contents of the
cut buffer at the current position.
New feature: Support hidden input (for passwords and the like).

Controlled by internal global flag variable "is_hidden".
Added two new accessor functions to set and retrieve the flag's state.
(Avoided changing the signature of linenoise()).

Activating hidden input
- Causes all entered characters to be echoed back as '*'.
- Disables navigating and searching the history.
- Disables line completion.
- All other editing commands are left active.
New feature: Extended character transpose (Ctrl+t) at end of the line.

Bash is able to transpose characters with the cursor after the last
character. It simply transposes the last two. Added this behavior
to linenoise.
Merge branch 'void-cast-clarification' into feature-page-updown
Merge branch 'feature-history-get-maxsize'
Merge branch 'feature-page-updown'
Merge branch 'feature-cut-paste-buffer'
Merge branch 'feature-hidden-input'
Merge branch 'feature-extended-transpose'
New feature: Provide a public accessor to the getWindowSize() functionality.
The accessor returns only the number of columns, i.e. window width.
Merge branch 'feature-export-get-console-width'.
Plus re-merge the outstanding features.