softpipe: use visibility CFLAGS
nouveau: use visibility CFLAGS
winsys/sw: use visibility CFLAGS
pipe-loader/swrast: add soft/llvmpipe defines

Or it compiles them in, but pretends they don't exist
pipe-loader: use visibility CFLAGS
pipe-loader: support explicitly wrapped sw screens
util/u_dl: use local/now binding

We seem to mostly use this to load drivers. After multiple problems
with silent symbol clashing, especially in applications that load more
than one type of API with some drivers from the system and some from
the temporary dev directory, this change seems very sane.
nine: improve and simplify driver loading architecture

Nine now works as a standalone library using pipe-loader to get
the appropriate drivers loaded. A new library has been introduced
for this called libd3dadapter9.so

To create a final d3d9.dll equivalent now is simply a matter of
linking with -ld3dadapter9 and implementing the interfaces found
in d3dadapter9/d3dadapter.h to integrate with the window system.