Added PSPDFileAnnotationProvider subclassing

* Make all built in annotations (those embedded in the PDF) immutable.
* All annotations added by the user can be modified.
* Workaround for PSPDFKit bug where the text of a non-editable
annotation can still be changed.
* Immediate callback if an annotation has been changed.