There are two problems when adding a paint slot to an object without
an existing material.
First, the invoke method creates a material on the object. This
modifies the object even if the operation is not executed.
Second, the fill color defaults to black when there is no existing
material (even when adding a normal, bump, or displacement layer.)
This patch moves the material creation to the exec method.
When no material exists on the object, a default Principled BSDF is
referenced for default colors in the invoke method.