Move as many includes as possible into the cpp files. This causes them not to be drawn into other files includes. This also resolves errors with X11 libs that have extensive use of too simple definitions