Improve Overprintmode and shadings

Bug #80998
cairo: Make sure we always push a transparency group in setSoftMaskFromImageMask()

Because that's what unsetSoftMaskFromImageMask() assumes.

https://bugs.freedesktop.org/show_bug.cgi?id=81624
annots: Fix a crash when adding annot without contents

Having no content in an annotation results in a crash when generating
its appearance, since the contents pointer is dereferenced.
For consistency, the same has been done in Annot::initialize.
glib: Return NULL in poppler_annot_get_contents also for empty strings
glib: Fix a memory leak when getting text layout and attributes
pdfseparate: additonal handling for annotations

Bug #77549
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: Add PopplerFontDescription boxed type

This boxed type is used to represent the font attributes of annotations.
glib: Extend FreeText annotation support

This patch allows adding new freetext annotations, their intent,
quadding and callout lines.
glib-demo: Extend demo for FreeText annotations

Adds font color, font size, intent properties of freetext annotations.
Also allows adding new free text annotations.