glib: Add PopplerAnnotAppearance boxed type

This type will be used to represent the attributes in the DA of
FreeText annotations.
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.
glib: Extend FreeText annotation support

This patch allows adding new freetext annotations, their intent,
quadding and callout lines.
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.