fix a confusing convention where line number are 1 based while column numbers are 0 based.

This commit change the convention so that all numbers are 0 based (it makes more sense and will make integration with other app easier and more coherent).

All tests are now passing locally but I have yet to update comments and fix status bar infos in examples to show both line number and column number as 1 based (0 based for programming, 1 based for display makes sense)
Improve test goto assignments and test workers
Fix bugs highlighted by the new tests
QIdle: fix cursor position display (1 based)
Finish fix_confusing_convention