Source update on save

The purpose of this commit is to avoid the update of the source every time the content of a document changes. Since we intend to perform parsing and validation only on save, it doesn't make sense to have an update of the source more often.

Backend
- arguments for service function have a more generic type

Document
- addition of a list of changes that are notified by Document Listener
- method to call the backend service to update the source

Document Listener
- removal of the update service, changes are just notified to the document
- call to the updateSource method of the document when the document is saved