Called when the a row or a new item becomes selected. The concept of current selection
is different than focus. Row or item can be selected even they don't have focus.
Having the concept of selection will allow developer to switch background to selected
item or selected row when user selects rows outside row UI (e.g. headers left of
rows).
For a none {@link ListRow} case, parameter item is always null. Event is fired when
selection changes between rows, regardless if row view has focus or not.
For a {@link ListRow} case, parameter item can be null if the list row is empty.
In the case of a grid, the row parameter is always null.
Row has focus: event is fired when focus changes between child of the row.
None of the row has focus: the event is fired with the current selected row and last
focused item in the row.