Public Headers: Allow Build with Visual Studio

Visual Studio does not like function declarations to be marked with
__declspec (dllexport) without the prototypes being marked likewise, so
add the EPOXY_IMPORTEXPORT annoation to the prototypes in the public
headers, so that things can build under Visual Studio as well.
Add C99 Headers for use with MSVC (pre-MSVC 2013)

This adds C99 headers stdint.h, inttypes.h and stdbool.h that are not
available on Visual Studio 2012 and earlier, so that they can be referred
to during the build of libepoxy (and possibly the use of it).

The stdint.h and inttypes.h implementation are taken from the msinttypes
project[1], and the stdbool.h is adapted from the one from gnulib.

[1]: https://code.google.com/p/msinttypes/
Non-generated Sources: Allow Build on Visual Studio

As this code is obviously not only built on gcc, define a constructor that
is suitable for use on Visual Studio, in addition to the current gcc one.

Also, avoid defining an empty struct (which is not allowed on any MSVC),
and make sure that we have GLAPIENTRY (i.e. __stdcall) just before the
parameter part of the function declaration/prototype, as that is where
Visual Studio expects them to be, and is also accepted on gcc.

As epoxy_conservative_gl_version() is marked for export in
dispatch_common.c, do likewise for distpatch_common.h by using PUBLIC, as
Visual Studio does not like export annotations to be done on function
declarations but not the prototypes.
src/gen_dispatch.py: Generate Sources That Builds on MSVC

Update the Python code generating script by:
-Generating the arrays of providers and enumeration in a way that is
 understood by C89 compilers.  Might not be the most robust way for this,
 but anyways... as the providers retrieved in order from the various XMLs.

-Use __declspec(noinline) in place of the gcc-specific
 __attribute__((noinline)) on Visual Studio builds.

-Generate the resolver table struct in a way that is acceptable by C89
 compilers, like pre-2013 MSVC.
Makefile.am's: Move Source Listings into Makefile.sources's

This moves the source, headers and test program listings from the
respective Makefile.am's under src/ and test/ to their respective
Makefile.sources.  This is done so that we can have NMake Makefiles later
that can also refer to the same Makefile.sources to build the libepoxy DLL
and the relevant test programs.

src/Makefile.am has also been re-organized a bit so that we can ensure that
the non-generated sources and headers are distributed and built, but then
that the generated ones are not distributed.
test/wgl_per_context_funcptrs.c: Fix MSVC Build

Ensure that we have __stdcall only just before the parameters part of a
function declaration or prototype, as this is what Visual Studio expects,
and is also accepted by gcc.
MSVC Builds: Add NMake Makefiles

This adds NMake Makefiles that can be used to build the libepoxy DLL (with
WGL support), and the test programs that are relevant to the WGL "backend",
and adds the NMake Makefiles and the C99-compatibility headers needed for
pre-2013 MSVC versions to the distributions.  This NMake Makefile set
supports Visual Studio 2008 through 2013.

Like the earlier patch on the Makefile.am's, these NMake Makefiles also
consume the Makefile.sources to identify the sources needed for the build.