Keep current scroll offset

Keep scroll offset in lists whenever size of an item is changed, added
or removed.
Fix keyboard navigation and selection in lists