Symptoms for this were most likely observed when removing material slots
(or moving them up/down).
For text objects, the `CharInfo` `mat_nr` material index starts at 1
(not at zero like for meshes or nurbs).
Code was mostly considering this (but not in all places, so material
index handling (removing/moving) could still go wrong.
This patch (hopefully) fixes the remaining places where the 1-based index
should be used.
In addition to that, new text objects will have their `CharInfo`
`mat_nr` index 1-based, places where the index is cleared also set it to
1 (instead of zero) now. This also includes version code to correct a
zero index for old files (and sets it to 1 as well).