Define a `button type' called NAME (a symbol).
The remaining arguments form a sequence of PROPERTY VALUE pairs,
specifying properties to use as defaults for buttons with this type
(a button's type may be set by giving it a `type' property when
creating the button, using the :type keyword argument).
In addition, the keyword argument :supertype may be used to specify a
button-type from which NAME inherits its default property values
(however, the inheritance happens only when NAME is defined; subsequent
changes to a supertype are not reflected in its subtypes).