add a set of 'always pass' characters, reduce false positives when completing strings 1) The following characters do not observe *UNICODEBLOCK* restrictions and are always printed even if they are out of range: ``\t !"#$%&'()*+,-./0123456789:;<=>?`` (U+0009, U+0020..U+003F). 2) Encapsulate the offset variable in a new `ScannerState` structure. Add the new variable `completes_last_string` also there. Refactor related code. 3) When strings not fit in the WIN_LEN buffer they are cut and processed later. The remaining part of the string has to be printed then regardless of its size. This commit refines the logic of determining this special case in order to prevent more false positives.