Support animated inserts, reloads, and deletes

Also introduce a delegate-based interface for LFSContentCollection.

Deletes and inserts are done in a transactional style with respect to the main content array (updates are accumulated and then applied at once).