listview: cull listitems that are out of view
Use set_child_visible(FALSE) on those widgets and don't allocate them.
This should usually be the majority of items, so it's quite a worthwhile addition.
Idea by Ivan Molodetskikh.
Related: #3334 (closed)