Better (our own?) YAML parser
This is the question that was discussed a zillion of times, but I'd want to create a separate issue for this one.

## Current state of things

Right now we're using external YAML parsers to parse .ksy files, that is:

* for JVM build of ksc — [SnakeYAML](https://bitbucket.org/snakeyaml/snakeyaml), written in Java
* for JS build of ksc — yamljs / jsyaml / ..., written in JavaScript; effectively they just convert YAML into JS objects/arrays structure

## What we're generally ok to drop

Some YAML compatibility, i.e. we're generally ok to implement a smaller YAML subset. For example, we don't need:

* multiple documents in a file
* directives
* tags
* node anchors and references
* block chomping controls
* explicit typing with `!!`
* timestamps
* actually anything beyond [failsafe schema](http://www.yaml.org/spec/1.2/spec.html#id2802346)

However, we shouldn't *add* and *modify* YAML semantics, i.e. all our .ksy files should still stay valid YAML documents, available for parsing in other YAML parsers.

## What we'd want to have

A parser that:

* is written in Scala with no major extra dependencies — this way it would compile smoothly for all 3 major Scala targets: JVM, JS and native binaries
* allows semi-complete lines that appear while one's in progress of typing a line (useful for IDE); it should report an error here, but try to resume parsing, probably by throwing erroneous line and trying to resume from the next line
* reports exact positions of the problems — i.e. line/column, not only YAML path
* reports many (ideally, all) problems from the run, not only the very first one
* allow distinction (and proper error reporting) between stuff like:
  * having `null` specified vs having no value at all
* allows to check [our style guide](http://doc.kaitai.io/ksy_style_guide.html) stuff and issue warnings on them (and maybe offer autocorrection?)

Anything else?

## Current efforts

* @GreyCat tried to port SnakeYAML into Scala, but that project kind of stalled.
* @koczkatamas wrote [proof-of-concept AST parser of YAML subset in TypeScript](https://github.com/kaitai-io/kaitai_struct_webide/blob/master/playground/KsyAst.ts), which is used as addendum for code completion purposes only