glib: Extend FreeText annotation support

This patch allows adding new freetext annotations, their intent,
quadding and callout lines.
core: Expose AnnotFreeText::parseAppearanceString

The frontends need to parse the DA string of the free text annotations
to get the font size and color of the text. This function is made public
to avoid the repeated effort.
Core: Fix issue when adding annot without contents

Having no content in an annotation results in a crash when generating
it's appearance, since the contents pointer is dereferenced.