Correct the condition for generating CGGetConstructorObjectMethod.

As we don't actually implement the feature for which this is needed, I've
commented the call out for now and mentioned the issue for the feature.
Generate code for NoInterfaceObject interfaces in InterfaceTypes and InheritTypes.

There is no reason for those interfaces to be excluded.
Pass the interface object-related arguments to CreateInterfaceObjects2 together in an Option.

This clarifies the code and fixes our support of NoInterfaceObject interfaces.
Keep calling the DefineDOMInterface method for NoInterfaceObject interfaces.

DefineDOMInterface also creates the proxy handler for proxy classes, so it
should be called in this case as well.
Make AttrList NoInterfaceObject (fixes #1223).
Move the responsibility for indentation to CGAbstractBindingMethod.definition_body from its callees.
Return a CGThing from CGAbstractMethod.definition_body.
Use CGIndenter for CGWrapMethod.definition_body.
Use CGIndenter for CGGetPerInterfaceObject.definition_body.
Use CGIndenter for CGDefineDOMInterfaceMethod.definition_body.
Stop indenting in CGMethodCall.
Use CGIndenter for CGSpecialized{Method, Getter, Setter}.definition_body.
Use CGIndenter for CGProxyUnwrap.definition_body.
Indent the contents of getOwnPropertyDescriptor.
Indent the contents of defineProperty.
Indent the contents of hasOwn.
Indent the contents of get.
Indent the contents of obj_toString correctly.
Use CGIndenter for CGAbstractClassHook.definition_body.
Use CGIndenter for CGClassConstructHook.definition_body.