ENH: Use parameter node in PDF Segmenter

This allows outside module to specify inputs, outputs and parameters to the
PDF segmenter.

Basically, the parameter node is used to store all the necessary parameters
to run the PDF segmenter. Whenever the effect is shown, the default values
are checked. If any value is set on the parameter node, the value is set to
the GUI as well.
The parameter node is observed by the effect allowing the GUI to update
itself dynamically from it. On the other hand, modifying the GUI propagates
to the parameter node.
This apply() function can be factorizated in the PDF segmenter logic,
making it easier for outside module to use it if they need to.

Finally, the main input node selector was removed to be more editor-like.
Instead of getting the main volume from the GUI, it's obtained through the
editor's function (i.e. it's the current background volume).

Change-Id: Ibfb1b63596e22338a4c90559305d744147e019b1
Merge topic 'FixPDFSegmenterForPrometheus-UseParameterNode'

fae66a9 ENH: Use parameter node in PDF Segmenter
ENH: Cleanup ObjectDocuments classes and add basic tests

Change-Id: Ia5a27b73f37d9f52e215ef784bb21373029034d5