feat(collectionRepeat): No redraw if the list has been appended to

When creating an infinite list using collection repeat the list is redrawn whenever it is appended to. This is normally OK, except when you have any form of animation happening on the list. This PR checks the first and last element of the old list against the first and last of the new list. They they match, we assume the list has remained the same.

This is a pretty crude test so I'm open to suggestions. I don't want to check the whole list as collection repeat has enough work on it's hands. 

Maybe this can be the default and we allow some way of configuring the comparison?

Thoughts.