Introduce concept of hoveredIndex
Rather than abusing the currentIndex for tracking hover introduce a new row property. This brings it more in line with the QItemView on widgets.
This fixes an issue where keyboard navigation would be relative to the mouse, not the last keyboard selected index.
This does mean we have to update the current index explicitly when a click action occurs.