- Separated displays so they don't have to all be included in build even when the features are disabled.
- Removed weird linker magic for display init and replaced it with straightforward (and faster) template functions that behave the same.
- Replaced `disabled_display_output` classes with log messages.
- Add explicit compiler errors when feature dependent headers get included where they shouldn't (wl, x11).
- Switch BUILD_MOUSE_EVENTS dependency from OWN_WINDOW to BUILD_X11.
- Other minor improvements to some existing code which shouldn't affect behavior.
- Improve documentation.
- Remove X11 from unrelated headers.
- This reaches 0% unneeded X11 polution in the sources.
- Reenabled parts of window_type which would work in Wayland.
- Remove unneeded guards.
- Display files are now no longer compiled if their features are disabled.
Signed-off-by: Tin Švagelj <tin.svagelj@live.com>