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

`Xlib.h` contains 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 is 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`.