Add context to the PrintingWindow preferences to help us identify a special use case or workflow.

The current default behaviour without setting context is the old one.
Add quick printing buttons to the part editor.

Now we can print a part while saving it and also from inside the editor
window once it has been stored to the database.
Fixes a null exception if this was destroyed before the timer has been executed.
Fixes a null object exception on FootPrintComboBox.

The listeners are not automatically removed from the store and since the
store has a much longer lifetime, the event is fired and tries to call
an dangling reference to this class.

There are more such things pending in the project due to code duplication
artifacts which should be omitted.
Refactoring and Bugfixing: Fixes the pending Bugs with the listeners in the other combo boxes too. Additionally uses a common base class for common code now.