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).
Dart has its own `KeyCode`, which contains all these constants.