Cause MenuDeactivate event to be delivered when appropriate

This is achieved by moving the FireMenuDeactivate call to
MenuStrip.Dismiss and causing it to be called in a couple of places
where it ought to be.
X11: improve handling of WS_EX_TOPMOST

Currently, WS_EX_TOPMOST is handled by making the window transient-for
the root window.  I was unable to find any documentation that indicated
that this would have the desired effect.  Instead, use SetTopmost to
set _NET_WM_STATE to _NET_WM_STATE_ABOVE, per EWMH.

Also, use XMapRaised to raise topmost windows to the top of the stack
when mapped, as a last ditch effort to support window managers that
do not respect _NET_WM_STATE, such as xmonad.

This fixes an issue I encountered when running a winforms application
in xmonad, whereby drop down menus would fail to re-open if windows
had been re-arranged after the menu was first opened (in reality,
the menu was hiding behind the form).
Ignore the gdiplus dllmap on Windows.
Fix Bug 4811, xbuild should find xml documentation
Merge pull request #587 from madewokherd/gdipdllmap

Ignore the gdiplus dllmap on Windows.
Merge pull request #565 from rneatherway/master

This is a possible fix for finding xml documentation files
Merge pull request #260 from pcc/topmost

X11: improve handling of WS_EX_TOPMOST
Merge pull request #268 from pcc/menudeactivate

Cause MenuDeactivate event to be delivered when appropriate
Build support/ when cross-compiling.

Simplifies Makefile.am a bit.