Lots of changes, the main one being the end (almost) of the implementation of highlighting, along with a lot of improvements in the Web application used for testing.

- updated documentation, fixed some typos
- added instructions for how to launch the backend server
- added the `statics` folder containing cleanup and formatting rules for Java code
- added the dependency to the escape-html library, used for highlighting preview in HTML (in the Web application)

Web application:

- updated to Bootstrap 3: big changes in HTML structure (index.html)
- started using Require.js
- refactored a lot thanks to Require.js notably
	- index.js: main file, entry point, building the GUI and initializing stuff
	- actions.js: handler functions reacting to user interaction
	- backend.js: backend services abstraction
	- graphs.js: functions building graph visualizations from different libraries
	- gui.js: utilities to build the GUI
	- templates.js: a collections of templates compiled with hogan.js, working with bootstrap and designed for the application
	- added a stylesheet: main.css
- added tabs to view highlighting and folding data

OOP:

- fixed the API to define descriptors for instance properties: now it really accepts different property names

STD:

- network.js: removed some code by using a feature of the DOP library
- logger.ls: removed (temporarily) the step of cleaning the object, which was buggy

# Modes

Mode manager:

- improved error handling for the `exec` service

Code:

- fixed the source code update: there was a wrong offset calculation
- added some documentation

Mode:

- used more features of the DOP library
- began using the custom STDError class
- changed the way highlighted nodes are specified: every style defined in the given stylesheet will be used for the highlighting process, and some explicit node types that should use default style can be specified
- finished implementation of highlighting: now at the end of the process every leaf get styled so that a proper set of ranges can be extracted (no overlapping, no hole, ...), and also consecutive ranges of same style are collapsed
- added two methods for HTML rendering of highlithing: `html`, which gives a HTML snippet of code with tokens surrounded by styled elements, and `css`for actual styling of those elements
- implemented folding
- cleaned the parse service: now it returns a smaller but still comprehensive AST

Node:

- fixed the confusion between `_index` and `_parentIndex`, but also `_parentId`: now `_key` is the key used in the parent's children index, `_index` the position in parent's children list, and `_listIndex` the position in the list of nodes added with `addList` (so it's optional)
- fixed and enhanced the missing end position computation
- added more flexibility in the API by adding more input property names
- added a system of flags: specific boolean properties that can be easily set on or off. Flags are copied when copying a graph.
- added a unique id for each node
- added an object globally shared among all the nodes of a graph: the hard part has been made to keep it consistent and up to date while merging graphs (adding a graph to another)
- updated the internal `_pushChild` method to handle the shared object: this is expensive if the added child is the root of a big subgraph, as the latter is traversed twice for proper updates
- added various dynamic instance properties, some of them replacing some methods. This adds two new properties:
	- path: this returns the list of nodes from the root leading to the current node
	- branches: this returns the list of paths for all leaves (that's what are branches)
- added back the `put` utility, to add various things like childrens, properties, flags, ... everything through the same method. Has some edge cases that require specific methods to be used instead.
- added the ability to specify a context for the callback method used when traversing
- added some collection methods: map, pluck
- changed some debugging/introspection methods: `getId` now returns a string built from indexes' keys
- updated the `simplify` method to take flags into account
- added a feature to the `pick` method, using flags: if a string is specified instead of a function, it will pick up nodes matching the given flag

Highlight:

- added css serialization for all models
- made a few API enhancements

PEG.js Parser:

- extracted the Node instancier class to put it in its own file
- added a system of hooks for the Node instancier: post-processing functions applied for each new node, aimed at computing properties or doing whatever you want

# Specific modes & Parsers

HTML:

- updated the mode to specify properly nodes with default style
- updated the stylesheet: now it gives a real-life highlighting
- updated the grammar
	- used hooks to flag nodes which are blocks
	- fixed some stuff, mostly handling of optional elements
	- added quick and dirty changes concerning node typing to make highlighting works
Big improvement of the web application, live preview of highlighting, small fixes.

Documentation:

- improvement: changed links to explicit README.md files to folders instead (better consistency and functionality)
- fix: fixed some relative links, starting from the root of the repository

Web application:

- new: tab editor implemented
- new: live preview of highlighting
- new: JSON view of Outline
- new: JSON view of Highlight
- new: JSON view of Folding
- new: tree view of AST
- new: tree view of Outline
- new: putting introspection data into a global object for easier debugging
- change: no more editor in popup
- improvement: created a Ace editor factory function
- improvement: editor has been configured for better behavior
- improvement: the stylesheet for highlighting is now taken only once, at document initialization, for better performances
- fix: active tab is now actually displayed at application load
- documentation: cleaning
- new bug: tree views don't behave properly on updates, collapse state of nodes cannot be toggled anymore (by user action at least)

Code:

- new: sets in the object shared by nodes the id of the highest dirty node after update (the one whose subgraph has been replaced)
- new: added a more comprehensive outline
- improvement: now the graph update silently fails in case of error, allowing to enter non-correct source (waiting for a more permissive parser)
- improvement: more granularity in updates, now only the source only can be updated

Outline:

- new: added a class (model) for outline nodes

OOP:

- fix: instance properties (defined with descriptors) are now created before instance initialization. This allows both pre-initialization (input processing with schema for instance) and initialization to use these properties.