Issue was caused by calculateTransformCenter not giving any center point in cases
object is in painting mode, which lead to previous offset used for view rotation.
Since this previous offset is a static variable, it'll mean rotation will happen
around scene origin after re-starting blender.
Now made it so viewport rotation will use active object's center as an offset
when active object is in painting mode.
Should behave in more predictable way.