gallium: introduce target directory

Currently there are still at least two functions bundled up inside the
winsys concept:

a) that of a backend resource manager, sometimes capable of performing
   present() operations,

b) the initialization code/routine for the whole driver stack.

The inclusion of (b) makes it difficult to share implementations of
(a) between different drivers.  For instance, a clean xlib winsys
could be of use for software-rasterized VG, GLES, EGL, etc, stacks.
But that is only true as long as there is no dependency from the
winsys to higher level code, as would be the case when we include (b)
in this component.

This change creates a new gallium/targets subtree, specifically for
implementing the glue needed to build individual driver stacks, and
moves that code out of a single example winsys, namely xlib.

Other drivers continue to build unchanged, but hopefully can migrate
to this structure over time.
diff --git a/configs/default b/configs/default
index ad6d93c..45eaf87 100644
--- a/configs/default
+++ b/configs/default
@@ -86,7 +86,7 @@
 
 # Directories to build
 LIB_DIR = lib
-SRC_DIRS = glsl mesa gallium egl gallium/winsys glu glut/glx glew glw
+SRC_DIRS = glsl mesa gallium egl gallium/winsys gallium/targets glu glut/glx glew glw
 GLU_DIRS = sgi
 DRIVER_DIRS = x11 osmesa
 # Which subdirs under $(TOP)/progs/ to enter:
@@ -101,6 +101,7 @@
 GALLIUM_DRIVERS_DIRS = softpipe failover svga i915 i965 r300 trace identity
 GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a)
 GALLIUM_WINSYS_DIRS = drm xlib
+GALLIUM_TARGET_DIRS = libgl-xlib
 GALLIUM_WINSYS_DRM_DIRS = swrast
 GALLIUM_STATE_TRACKERS_DIRS = glx vega