UI-CONSTRAINT-CLASS specified the type of constraint to be created. WIN-LIST specifies the windows to be constrained. Returns a new constraint object that is NOT enabled. errors if UI-CONSTRAINT-CLASS is not valid. Returned objects are #(obid-ui-constraint CLASS CN ENABLED? LIST-OF-WINDOWS OPTS BUT DHOOKS) The OPTS param is a spot for optional data to be specified by the ui-constraint-class constructor. If data returns from that constructor in list form, the first element of the list is assumed to be the CN and the cdr is stuck in OPTS. BUT may contain a reference to the gtk button for the constraint instance in the toggle menu if that feature is in use. DHOOKS is a list of hook procedures that should be called when the enable is changed on this constraint. These hook functions may only be added after an instance is created. SIDE-EFFECT: adds new instance object to the global list.