more feature for the AST

New services for client of the AST who care about the real text representation of the code (eg. highlighter or pretty-printers).

A better nitlighter should follow once this is reviewed and accepted.

The two first commits move some code in new modules.
The folowing commits add some features and nitpickfixes
The last commit introduces a new module, `astutil`, that will be used by the new highlighter (instead of the current ugly double cursor mechanism).

The method `astutil::ANode::to_xml` is not that useful but presents an exemple of a basic implementation of the targeted clients.