Added several enhancements for development.

These features are mainly accessible from the npm scripts feature.

Here they are:

- watch: you can now launch a watch process to rebuild your grammars anytime you change them
- test: launches the tests with mocha
- build: builds the package. Actually only build the grammars for now.
- stop: sends the shutdown signal to the server

Documentation has been updated accordingly.

NB: for now grammars handled by the build and watch scripts are HTML and AT. But it's easy to add others by appending them in corresponding scripts.
Now it is possible to know inside the web application when the parser failed.

- fixed the update method of code, and now actually returns the update result to the client
- now an alert is displayed when the parser couldn't parse the source, until it can finally do it again
- enhanced code and documentation of the alert method, and made possible to disable the close button
Updated documentation.

I mainly removed backlog items, either done or moved to GitHub issues.

Some small things have been fixed too (typo, formatting, ...)

An architecture schema has been added, and you'll need to use https://www.draw.io/ to view it.
Mainly fixed and completed the AT grammar.

- updated the AT parser documentation
- fixed a little the test input for the parser

AT Grammar:

- block nodes are now flagged as "block"
- changed term "element" to "node": more generic, and consistent with HTML
- some unnecessary code/rules have been removed
- changed some precedence in rules for better accuracy and consistency too
- completed the terminals encapsulation in nodes for many rules
- fixed CDATA content parsing (made it optional)
- finished implementing the parsing of expressions (with modifiers)
- fixed some little quirks (like allowing spaces at wrong places, setting properties with nodes, ...)
Fixed the HTML grammar (& made it more consistent).

Tests and parser generation options have been updated accordingly.

Fixed:

- directive content definition: requiring at least one character to match the rule, as for the others following the same pattern
- made the content of CDATA optional
- added a rule to parse unquoted tag attributes: more correct, they don't eat special characters and match id specs

Consistency:

- inverted the use of terms "elements" and "nodes": they were completely misused
- moved the CDATA declaration above the other elements definition, to match the order defined in the alternative of "elements"
- removed several prefixes in node types: like "comment.opening" to "opening", you can do a small node traversal to find out it's an opening of a comment (here the type is more like a category, not a unique identifier)
- avoided some useless rules or duplication for guarded closes used for rules like comment content, CDATA content, ...