Use different strategy for a stable viewport
Use different strategy for a stable viewport

For the panel we always redraw the entire panel and had problems
to hold the viewport stable afterwards. (Under some conditions,
the viewport shifted to the right.)

The ref issue for that is
https://github.com/SublimeTextIssues/Core/issues/2560

The previous work-around did still not work 100% (but most of the time!).
It also relied on thread hopping which generally made the code harder
to reason about.

Following the advice given, it looks like that by calling
`set_viewport_position` twice (but not with the same args!) we can
force a synchronous update. In case the viewport was at `(0, 0)`
from the beginning, Sublime actually never shifted anyway. So in that
edge case this becomes a no-op.

SublimeLinter/SublimeLinter3,SublimeLinter/SublimeLinter3