Remove #include <X11/Xlib.h> from API headers + Linux fixes

`Xlib.h` has typedefs using the same names on ClanLib (like `clan::Font` and X11's `Font`) which causes ambiguity problems on Linux when the `clan` namespace is imported into the global namespace. This file is included inside `DisplayWindow`-related headers to allow library code to access the window manager's handles of any `DisplayWindow` instance. In order to isolate X11 from ClanLib, a new class `DisplayWindowHandle` is declared. This class currently left as undefined in the header but defined inside the library source code to contain the handle for whichever window manager is used on the target platform. It may be generalized in the future to also contain window-manager specific methods currently residing in `DisplayWindow`.