Convert the Shuffle example to collection view.

Also, provide default logic for dequeuing header and footer views for flow layouts