Restore caret/selection position per-fragment when navigating with arrows