Converted tests to UTF-8
Replaced extract_tokens with a stub
Removed now-useless buffering
Moved characters explicit tests to UTF-8
Moved core to UTF-8.

Updated headers. Rewritten inline hex parsing. Added a temporary interface
for stream creation.
Replaced \r with \n for ultimate whitespace
Moved preflighting to assert
Implemented UTF-8 validation
Fixed various errors in tests
Removed obsolete comments, fixed named characters
Moved to R5RS standard. (R6RS is *bloat*.)

Removed unnecessary tests, added new, fixed other, fixed lexing.
Added case-insensitive hexcoded characters
Fixed multibyte character tokens.

Also determined treating of newline character tokens. Now any newline
sequence (\f, \n, \r, \r\n) after '#\' is treated as '\n' character.

Demand: proper algorithm for sentinel whitespace before EOF. It should
be \n at the end in general case, and \r if the last character is \r
(to prevent treating \r\n sequence as a single DOS line ending from
original source).

(Ofc, tests for all these are attached, and existing tests are adjusted.)
Fixed misc issues.

* Fixed context buffer constructor.
* Refactored test buffer endings.
* Made Valgrind happy ^^
* Updated docs accordingly.
Revived test_context.c
Merge branch 'utf-8'