Bug 977141.  Make binding code compile when unified compilation is disabled.  r=smaug

The changes are basically that everyone needs to #include whatever types they're returning from GetParentObject
(because bindings code needs to know whether those inherit nsISupports, etc), that Attr's destructor needs to
be callable by binding code as needed, and that we can't use ElementInlines stuff from bindings sanely.
Bug 974284.  Do a better job of commoning up identical cases in overload resolution for WebIDL methods.  r=khuey