parse_string: reduce mental burden when reading the code
parse_string: reduce mental burden when reading the code

This restructures parse_string in a way, that you need to keep less
state in your head to understand the code.

This is achieved by:
* only changing the input pointer (current position) at a few places
(not all throughout)
* splitting out the UTF16 handling into a separate function
* renaming the variables so you know what they do without additional
context

FSMaxB/cJSON,gatzka/cJSON,DaveGamble/cJSON,gatzka/cJSON,gatzka/cJSON,gatzka/cJSON,DaveGamble/cJSON,DaveGamble/cJSON,FSMaxB/cJSON,DaveGamble/cJSON,FSMaxB/cJSON,FSMaxB/cJSON,FSMaxB/cJSON,gatzka/cJSON