Add json parser reporting accurate source locations.

The json parser is a copy of "package:json/json.dart" where the parser has been modified to report accurate source locations (in absolute position from the beginning of the contents) to the [JsonListener] interface.

The parser will be used to implement "smarter" validators for json file with a specific format (e.g. manifest.json).
What do the number values represent? They don't look like bits of a compound state byte or something. In any event, consider using the much more debugging-friendly `Enum` class here, from `ide/app/lib/enum.dart`. You can find examples of how to use it around the code.