Get rid of the non-standard ICOM_DEFINE macro.

diff --git a/include/objbase.h b/include/objbase.h
index d761e14..2f9f0d8 100644
--- a/include/objbase.h
+++ b/include/objbase.h
@@ -82,7 +82,7 @@
  *        STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL*, IUnknown*) PURE; \
  *        STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT*, IUnknown*) PURE; \
  *        STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH, LPD3DFINDDEVICERESULT) PURE;
- *    ICOM_DEFINE(IDirect3D,IUnknown)
+ *    DECLARE_INTERFACE_(IDirect3D,IUnknown) { IDirect3D_METHODS };
  *    #undef INTERFACE
  *
  *    #ifdef COBJMACROS
@@ -109,8 +109,8 @@
  *    be written manually (rather than using a macro to generate the equivalent code) to avoid
  *    macro recursion (which compilers don't like). It must start with the METHODS definition
  *    of the parent interface so that method inheritance works properly.
- *  - The ICOM_DEFINE finally declares all the structures necessary for the interface. We have to
- *    explicitly use the interface name for macro expansion reasons again.
+ *  - The DECLARE_INTERFACE finally declares all the structures necessary for the interface. We have
+ *    to explicitly use the interface name for macro expansion reasons again.
  *  - The 'undef INTERFACE' is here to remind you that using INTERFACE in the following macros
  *    will not work.
  *  - Finally the set of 'IDirect3D_Xxx' macros is a standard set of macros defined to ease access
@@ -159,8 +159,8 @@
  *  - IDirect3D only contains a pointer to the IDirect3D virtual/jump table. This is the only thing
  *    the user needs to know to use the interface. Of course the structure we will define to
  *    implement this interface will have more fields but the first one will match this pointer.
- *  - The code generated by ICOM_DEFINE defines both the structure representing the interface and
- *    the structure for the jump table. ICOM_DEFINE uses the parent's Xxx_METHODS macro to
+ *  - The code generated by DECLARE_INTERFACE defines both the structure representing the interface and
+ *    the structure for the jump table. DECLARE_INTERFACE uses the parent's Xxx_METHODS macro to
  *    automatically repeat the prototypes of all the inherited methods and then uses IDirect3D_METHODS
  *    to define the IDirect3D methods.
  *  - Each method is declared as a pointer to function field in the jump table. The implementation
@@ -297,7 +297,6 @@
 
 /* Wine-specific macros */
 
-#define ICOM_DEFINE(iface,ibase) DECLARE_INTERFACE_(iface,ibase) { iface##_METHODS };
 #define ICOM_VTABLE(iface)       iface##Vtbl
 #define ICOM_VFIELD(iface)       ICOM_VTABLE(iface)* lpVtbl
 #define ICOM_THIS(impl,iface)    impl* const This=(impl*)(iface)