gtk: Fix dll name and use a const for all DllImports in custom code

In Windows builds of GTK+ 3.x, the dll filename is libgtk-3-0.dll.

We use this opportunity to use a common const in the DllImport
statement for all custom code.
Add *.pdb to .gitignore
build: Only build gui-thread-check profiler module on mono

The profiler module will only work with mono, so we don't need to build
it on Windows with the .Net framework.
build: Fix compiler parameters in gio and gtk-gio samples

Having parameters starting with a forward slash seems to break when
building with MinGW on Windows. So we use a dash to be consistent with
other Makefiles.

Also use the CSFLAGS variable in the sample/gio Makefile, instead of
hardcoding the debug flag.
build: Remove obsolete gcc flag when building on Windows

The -mno-cygwin parameter has been obsolete for quite some time. It is
now gone in recent gcc version, causing an error when you try to use it.

My understanding that gcc now does the right thing automatically.
build: Only check the mono prefix when using mono

This avoids strange message at the end of configure with .Net
build: Enclose gacutil calls in double quotes

On Windows, gacutil.exe is often installed in a path with spaces, like
"C:\Program Files...". This causes problem when trying to call it during
"make install". Enclosing in double quotes fixes this, and has no impact
on Linux.
build: Rework handling of missing C# compiler in configure.ac

Only print the error in one place. Also add some comments.
build: Tell .NET compiler to target the generated assemblies to 32-bit

The default value for the "platform" parameter is anycpu, which allows
the runtime to use the 64-bit mode on x86_64. This means that any
P/Invoke will only work with 64-bit native libraries.

The recommended version of native Windows binaries provided by the GTK+
project are 32-bit, so a Gtk# app running on 64-bit Windows will fail to
load them, causing a BadImageFormatException at runtime.

Using "-platform:x86" instructs the csc compiler to set a flag in the
generated assembly that instructs the runtime to use only 32-bit mode.

Please note that there are 64-bit GTK+ Windows binaries, but they are
marked as experimental, and we probably don't want explore this right
now.

Also pass the "nologo" parameter so that it doesn't output several
useless line when it is invoked.
build: Fix references to AssemblyInfo.cs in makefiles on Windows

On Windows with MinGW, csc.exe is confused by paths like
"../AssemblyInfo.cs", so we need some trickery to have something that
works on both Linux and Windows.

This isn't pretty, but it's the best solution I could find right now.
The other approach would have been to go back to copying AssemblyInfo.cs
around, but that has it's own set of issues.