Bug 908351.  Stop over-including DOMJSClass.h, so we don't rebuild as much when PrototypeList.h changes.  We do this by factoring out the slot macros into a separate header and including that.  r=khuey
Bug 908530 part 1.  Make Link::GetURI return a raw pointer so we don't have to include nsIURI.h in Link.h.  r=khuey
Bug 908530 part 2.  Fix all the places that are bootlegging things (esp nsIURI) via xpcpublic.h.  r=khuey
Bug 908530 part 3.  Stop including xpcpublic.h in DOMJSProxyHandler.h.  r=khuey
Bug 908576 part 1.  Remove unused Is() method from proxy bindings.  r=smaug
Bug 908576 part 2.  Move DOMClass/DOMJSClass declarations out of binding headers.  r=smaug
Bug 908576 part 3.  Get rid of PrototypeIDMap structs.  r=smaug
Bug 908576 part 4.  Move all the PrototypeTraits bits into PrototypeList.h so they don't force us to include that header in all binding headers.  r=smaug
Bug 908576 part 5.  Make GetProtoObject and GetConstructorObject not inline so they don't force us to include PrototypeList.h in all binding headers.  r=smaug
Bug 908576 part 6.  Expose just a NativePropertyHooks pointer, not the object itself, so we can forward-declare it in bindings headers.  r=smaug
Bug 908576 part 7.  Move the various DOMProxyHandler classes into the binding implementation files.  r=smaug
Bug 908837.  Include a bit less stuff in binding implementation files.  r=smaug