merge greg with 4.3.0 from https://github.com/nddrylliog/greg

support ~{} errblocks
fix "off-by-two" G->text buffer reallocation bug ( Ali Rantakari <visit-with-web-browser@hasseg.org> )
add yyinit yydeinit and pass YY_INPUT G->data Onne Gorter <onne@onnlucky.com>
make C++ compileable Onne Gorter <onne@onnlucky.com>
YY_BUFFER_START_SIZE can be set to change the initial buffer size for parsing
Added offset member in GREG structure
Now every action function (the code between {}) has an additional parameter available: thunk

Add more yyqq cases \a\b\v\e\f.