Refactor bidirectional state handling

The best approach is to have only one place where state is kept and
no risk of "stale" state disturbing program execution.
Hand-managing state in the isolate-runner was thus problematic, as there
was the real risk of sliding into stale state. Even though this is
manageable, it makes the code relatively fragile and hard to debug.

In another aspect, the serialization was a mess and was in dire need of
more structure. The state currently still contains a "raw property",
but this will be removed once the API has been properly split between
the preprocessing and line-processing steps. The modified array is put
within an #if 0-guard.

Signed-off-by: Laslo Hunhold <dev@frign.de>
1 file changed