Track the stream offset during parsing.

This makes it possible to write a module based on jsonparse that maps an position in a string to a datamember of the json object (that one is coming soon).

The unit test tests the following things:
* Objects
* Arrays
* Strings
* Numbers (positive, negative, fractions)
* Booleans
* Nulls
* Unicode (note the `д`).

Not tested (full disclosure): exponents. But I'm fairly confident that they will work.