Generate correct bindings for callback interfaces: only create an interface object when the interface declares constants, and set up the prototype correctly. This also lets us tidy up some IDL for these callback interfaces.