Tagged-PDF: Fix parsing of attached element attributes

The wrong object was used as attribute dictionary, which caused
a segmentation fault when parsing PDF files in which the structure
elements included attributes attached to them. This patch fixes the
issue.

Thanks to Joanmarie Diggs <jdiggs@igalia.com> for helping in
debugging the problem.
Tagged-PDF: Modify pdfinfo to show the document structure
Tagged-PDF: Implement the utils/pdfstructtohtml tool

This adds a new tool "utils/pdfstructtohtml" that uses the document
structure from tagged PDFs to generate an HTML document from it, trying
to preserve as much of the structure and some of the styling in the
output. This serves also as a demonstration of how to use the Attribute
and StructElement classes.
glib: Private function _poppler_link_mapping_new_from_annot_link()

Move the code that creates a PopplerLinkMapping to its own function, and add
it as private API. This will avoid duplication of the code when creating a
PopplerLinkMapping from a PopplerStructureElement.
glib: Private function _poppler_link_mapping_new_from_form_field()

Move the code that creates a PopplerFormFieldMapping to its own function,
and add it as private API. This will avoid duplication of the code when
creation a PopplerFormFieldMapping from a PopplerStructureElement.
glib: Accessors for form fields of structure elements

Implements two methods which can be used on PopplerStructureElement objects
of type POPPLER_STRUCTURE_ELEMENT_FORM:

- poppler_structure_element_get_form_field()
- poppler_structure_element_get_form_field_mapping()

The only difference is that the later returns a PopplerFormFieldMapping,
which itself contains the PopplerFormField, plus the rectangle covered by
the form widget in the page.
glib: Accessors for document structure references

Implements functions to work with PopplerStructureElement objects which
are references to other entities in the document. Whether an element is
a reference can be checked with poppler_structure_element_is_reference(),
and poppler_structure_element_get_reference_type() returns the type of
object referenced. For POPPLER_STRUCTURE_REFERENCE_LINK references, a
PopplerAction (or PopplerLinkMapping) can be retrieved using the
poppler_structure_element_get_reference_link_action() or
poppler_structure_element_get_reference_link_mapping() methods.
glib: Implement accessors for element attributes

Implement inspecting the standard attributes of PopplerStructureElement
objects.
glib: Add poppler_structure_element_is_grouping()

Implement a method to check whether a structure element is a grouping
element, wrapping the StructElement::isGrouping() method.