ewmhInfo: move into struct monitor, update callers

Remove the extern ewmhc definition, moving it into struct monitor so that it can
be referenced on a per-monitor basis.

In doing this, and because certain callers assumed ewmhc was global, rework them
to get the values out the appropriate monitor.
EWMHBaseStruts/EWMHNumberOfDesktops: per-monitor

Introduce helper functions, set_ewmhc_strut_values(), and
ewmhc_desktop_values() which can set the per-monitor base struts.  Switch
CMD_EwmhBaseStruts() and CMD_EwmhNumberOfDesktops() over to using them,
respectively.
parsing:  Update ABNF to reflect BaseStruts/NumOfDesktops change

Update the grammar of the EWMHBaseStrut/EWMHNumberOfDesktops command to reflect
the change in grammar.
CONFIGARGS:  Include the monitor name

Augment the CONFIGARGS macro to also include the monitor name of the
configured window.
Ident:  Print monitor name selected window is on

When using Ident to show information about a window, also print out the name
of the monitor.
Centralise check for global monitor

Let montor_should_ignore_global() check for the presence of the global monitor,
plus other configured monitors, and shift the check done in FScreenGetScrRect()
to use that as well.
Redefine how the "global" monitor is stored

Rather than making the "global" monitor part of the monitor queue in the case
where XRandR is in use, instead only add the global monitor to the queue if
XRandR isn't in use (and hence there's only ever one monitor).

This means the callers don't need to worry, when querying monitors, about the
global monitor since contextually, querying monitors is always going to be
correct.  If the global monitor is required, that can be queried in the same way
it is now, and hence those existing callers don't need to change.

In making this change, initialise the monitors when required, rather than based
on whether they're in the main monitor_q or not; meaning no special-casing of
the global monitor is needed to support initialisation.
monitor_by_name: handle global_monitor

Now that the global monitor is separate depending if XRandR is used, when
querying for the global monitor, make sure we handle this case.
Remove callers of monitor_should_ignore_global()

This is now handled internally, and hence there's no need for callers to
understand this.
Make monitor_should_ignore_global() static

This function doesn't need to be public anymore; mark is as static.
Deprecate FindScreenOfXY()

Move the functionality to monitor_by_xy() instead, and switch over the
callers of FindScreenOfXY to it.  Reduces the need for a transient function
serving no purpose.
FScreen.c:  Few style cleanups

* Reduce spacing between operators;
* Remove unnecessary else blocks by pre-initialising;
* Some reindentation, etc.
Remove FScreenConfigureModule / FScreenGetConfiguration

Modules relying on monitor-specific information will be configured locally, and
module packets sent to modules will instead receive the monitor such events
occurred on.
Officially deprecate Xinerama / XineramaPrimaryScreen

These no longer make sense with XRandR; may well be resurrected in some other
guise later on.

For now the commands exist as stubs only, with a deprecation warning present
until such time that we deal with configuration migration properly.
Introduce monitor_by_number()

Rather than internal APIs relying on the name of monitors when looking up
various things about them, instead assign each monitor an ID which can be used
internally.

This will also make things easier in the longer-term when trying to streamline
how RandR is going to be used, but for now this will make more sense in terms of
communicating monitor information with modules.
TODO:  Add item about monitor API
WIP; moving monitor information into desk/page, etc.
WIP:  DIAGNOSTIC.  No functional changes