Moved most builtin controls structures into their respective C file.
Created new controls.h file private to user32.dll and moved remaining
builtin controls definitions there.

diff --git a/controls/desktop.c b/controls/desktop.c
index a1b70c1..ca91c8b 100644
--- a/controls/desktop.c
+++ b/controls/desktop.c
@@ -8,14 +8,39 @@
 #include <string.h>
 #include <unistd.h>
 
-#include "desktop.h"
 #include "windef.h"
 #include "wingdi.h"
 #include "heap.h"
 #include "user.h"
 #include "win.h"
+#include "controls.h"
 #include "wine/winuser16.h"
 
+typedef struct
+{
+    HBRUSH        hbrushPattern;
+    HBITMAP       hbitmapWallPaper;
+    SIZE          bitmapSize;
+    BOOL          fTileWallPaper;
+} DESKTOP;
+
+static LRESULT WINAPI DesktopWndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
+
+
+/*********************************************************************
+ * desktop class descriptor
+ */
+const struct builtin_class_descr DESKTOP_builtin_class =
+{
+    DESKTOP_CLASS_ATOM,   /* name */
+    CS_GLOBALCLASS,       /* style */
+    NULL,                 /* procA (winproc is Unicode only) */
+    DesktopWndProc,       /* procW */
+    sizeof(DESKTOP),      /* extra */
+    IDC_ARROWA,           /* cursor */
+    COLOR_BACKGROUND+1    /* brush */
+};
+
 
 /***********************************************************************
  *           DESKTOP_LoadBitmap
@@ -183,8 +208,7 @@
  * This is just a wrapper for the DesktopWndProc which does windows
  * locking and unlocking.
  */
-LRESULT WINAPI DesktopWndProc( HWND hwnd, UINT message,
-                               WPARAM wParam, LPARAM lParam )
+static LRESULT WINAPI DesktopWndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
 {
     WND *wndPtr = WIN_FindWndPtr( hwnd );
     LRESULT retvalue = DesktopWndProc_locked(wndPtr,message,wParam,lParam);