getpos()/setpos() combination does not account for changes of lines
count. So if you do getpos, then remove lines _above_ it, then do
setpos -- it's going to be off.
The fix calculates the "diff", and adjusts saved position for that diff
(if any).
If section title contains multibyte chars, the fold shortening function
often fails, because it works with text as array of bytes, not
characters (see strlen() doc for example).
This commit fixes this issue.