Implement a basic syntax checker with error marking

This uses the Parser's syntaxError which is triggered for cases like
a step following the feature line directly or having more than one feature
in a single file.

Unfortunately its not usable to detect lexical errors since the parser
currently throws an exception without metadata for such cases (just
starting to write arbitrary text on the beginning of the file).

The updating is done on save for now since thats easier to hook up than
doing it directly after typing.

Potential improvements could be to add warnings-support for steps that have
no matching definition.