Start getting gj and gk to work with (real, not converted to spaces) tabs. This requires us to change tack, slightly: we now work out the real column at the start of the current (possibly wrapped) line, and calculate the (real column) offset past this that makes the visual column equal to (or greater than, if necessary) the visual position of the sticky column.
Also, various renames, documentation, etc.