Basic extension-based support for language detection ( similar to Notepad++ )

This commit adds some basic heuristic to detect the file language.
This is based on the langs.xml file similar on how Notepad++ works.

The LexerFactory instantiate the right lexer depending on the language detected.
To make it work you'll need to copy your "langs.xml" file under one of these locations:

Linux:
/usr/share/notepadqq/langs.xml
~/.config/notepadqq/langs.xml

Windows:
%APPDATA%/notepadqq/langs.xml
<ExecutablePath>/langs.xml