This allows registration of item creation actions which create
items with an existing item type, but custom creation functions.
E.g. allowing actions for creation of ellipse/triangles/etc
from a single layout item type.
c++ QgsLayoutItem metadata classes can directly register
a function which creates a QgsLayoutViewRubberBand for the item
subclass.
Python code cannot utilise this shortcut (due to inaccessibility
of forward declared gui classes from core Python classes), so
there's a separate gui registry utility class added for registering
prototypes for rubber bands for already registered item types.