Pass all windows to selector engines

This extends the selector engine protocol to support the passing of an array of windows in which the selector engine should attempt to match views.

This makes it possible for selector engines to implement multi-window support without needing to know anything about the FEX_windows category method.

I'm working on a pull request for Igor to support this; Shelley would need the same, but it's backwards compatible.

Perhaps consider deprecating the old method?