Fix PFB font embedding

Bug #69717
Merge remote-tracking branch 'origin/poppler-0.24'
cache cms values in getGray(), getRGB() and getCMYK()

Bug #68420
Implement Object::takeString() method

Object::takeString() behaves like Object::getString(), but transfers
ownership of the returned string to the caller. Also, it makes sure that
calling Object::free() afterwards won't free the string that the Object
is holding.
Tagged-PDF: Implement parsing of StructTreeRoot

Implement parsing of the StructTreeRoot entry of the Catalog. Also, the
Catalog::getStructTreeRoot() and PDFDoc::getStructTreeRoot() methods are
modified to return an instance of StructTreeRoot instead of an Object.

All elements from the StructTreeRoot are parsed except for:

- IDTree: it is a lookup tree to locate items by their ID, which would
  be barely useful because the whole structure tree is to be kept in
  memory, which should be fast enough to traverse.
- ParentTreeNextKey: This is needed only when the ParentTree object is
  to be modified. For the moment the implementation deals only with
  reading, so this has been deliberately left out.

StructElem tree nodes from the document structure tree are parsed as a
StructElement instance. Attributes and extraction of content out from
elements are not yet handled.

https://bugs.freedesktop.org/show_bug.cgi?id=64815
pdfseparate: allow zero-padded pagespecs

Bug #50914
Compile++
Use icc profile in OutputIntents

Bug #34053