only apply a unique object name if needed

this updates the name generation to only create a unique object name for
a Qt object if one is not provided by the widget author. This allows
stylesheets and the dock area to work in harmony. The caveat remains
that users-provided object names are unique.