Fix confusing convention (line numbers are now 0 based)

This pull request aims to fix an old confusing convention that is the reminescent of my first experiments with pcef (the old pyqode 0.x) and jedi where line numbers were 1 based and column numbers 0 based.

The main problems with this convention are:
   - 1) it is confusing and annoying for the developer
   - 2) it is not coherent with the qt text api (where column and line numbers are all 0 based)
   - 3) it makes integration with other libraries harder than it should

pyQode will now follow the Qt Text API convention where line and column numbers are all 0 based.

This change introduces a backward incompatility for the text helper API. If you were using pyqode and had created some custom modes/panels, then you will have to make some adaptations. If you were simply using the exisiting modes and panels, this does not change anything for you.