remove post_decode support
remove pre_encode support
remove superfluous parser states
remove deprecated functions
delegate almost all responsibility of encoder to parser to simplify
internals
merge jsx_strings and jsx_parser
rename `explicit_end` to `stream` in prep for behavior change
incomplete input now results in an error when parsing json or jsx
internal form

streaming decoding is now only available when forced with the
`stream` option and no longer returns until forced to via the
token `end_stream`. this api is still subject to being replaced
with an even more explicit streaming mode
remove deprecated option flags handling
fix bad utf8 encodings by default (convert to u+FFFD)

this (temporarily, i hope) removes the fast path for handling
strings internally without escaping or replacing bad utf8
comments allowed by default. pragmatism 1 literalists 0
minor refactor of jsx_decoder
refactor options to complete mission: more pragmatism
refactor test suite for additional completeness and clarity
fix bug where escape characters were getting dropped when operating
under `dirty_strings'
further refactoring of test suite
remove inconsistent custom `error_handler' and `incomplete_handler'
tests pending reimplementation
fix format of incomplete tests in jsx_decoder
abstracted internal state of the `jsx_to_term' handler
generate test state from `init/1' in `jsx_to_term' and `jsx_to_json'
instead of doing it by hand