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).
...(from the 2nd comment above) however, these bunch of functions are prime candidates for Dart's shorthand notation, in which case we on the contrary often group such functions with no blanks between:
```Dart
void handleString(Span span, String value) =>
    _addEvent(_LoggingEvent.STRING_VALUE, span, value);
```

Note that in this case `_addEvent...` is indented by 4 spaces, not 2.