This should move all of the remaining interfaces out of basedoc, except for IDispatchEx (and some fields will still remain); those will be for next MR.
Because all of the remaining interfaces are in the `htmldoc.c` file, and they typically tend to just forward to the HTMLDocumentNode, I'm using some macros inspired by the HTMLWINDOW7_ONEVENT_PROPERTY_* in `htmlwindow.c` to reduce duplication. The ones that are exceptions are implemented normally without macros.
The first commit converts all of the non-IHTMLDocument* interfaces because most of the methods are FIXMEs/unimplemented, so splitting it up isn't worth it.
-- v3: mshtml: Move the IHTMLDocument7 interface out of basedoc. mshtml: Move the IHTMLDocument6 interface out of basedoc. mshtml: Move the IHTMLDocument5 interface out of basedoc. mshtml: Move the IHTMLDocument4 interface out of basedoc. mshtml: Move the IHTMLDocument3 interface out of basedoc. mshtml: Move the IHTMLDocument2 interface out of basedoc. mshtml: Move the remaining non-IHTMLDocument* interfaces out of basedoc. mshtml: Move HTMLDocumentObj implementation to oleobj.c.