[libcontacts] Update modified contacts individually rather than in batches

Processing even a single changed contact can consume all the available
time between UI frames, if it causes QML bindings to be re-evaluated.