Fix row_cache splicing (again)

helps if the empty items are added in the right place...
Attempt to make ->scroll_highlight more robust
Moving by page is surprisingly simple