Allow arbitrary pass-through of ListView arguments

Adjusts Slate common class to allow the arbitrary pass-through of
arguments to a ListView.
Split apart SubListView

Introduces an abstract (and module private) ListView class and a new
GroupListView.