Precise change tracking and UI updates

Rebased #14 

> Precise tracking for events (onAdded, onRemoved, onChanged)
> This means we re-render precisely the changes and nothing more
> * plunkr: http://plnkr.co/edit/NLMIQt?p=preview
> * a related fullcalendar issue: https://code.google.com/p/fullcalendar/issues/detail?id=1791&thanks=1791&ts=1366092900