android: bring a nested application window to the front when it maps (A48)
Problem
Under gamescope a game is launched inside wine's explorer virtual desktop, so its windows are children of one full-size root child: the only window gamescope manages and focuses. winex11 never activates such a child from X focus (an unmanaged window stays WithdrawnState on the Win32 side, so can_activate_window() is false for FocusIn and WM_TAKE_FOCUS alike). A game that maps its window with SWP_NOACTIVATE never becomes the foreground window: it ignores the controller and keyboard, polls XInput once, and hides its own window about 25 ms later. Need for Speed Most Wanted sits on "PRESS START" forever on the Odin 3; launchers that open before the game lose the mouse the same way.
Under the app's X11 server the same game works because DesktopHelper.onMapWindow sends winhandler.exe a BRING_TO_FRONT request on every mapped window, and winhandler.exe calls SetForegroundWindow, which needs no X focus.
Fix
A48: gamescope already selects SubstructureNotify on every toplevel, so it sees the nested maps. On the map of a child whose WM_CLASS is not explorer.exe or tabtip.exe and whose size is more than 1x1, send winhandler.exe the same 64-byte request on loopback udp/7946 with the window's class.
Verification
Odin 3, payload 20261026.3 base, NFS Most Wanted: without the request the game never polls XInput and the pad is dead; with the same request sent at map time (prototyped with an external X client) the title advances on START, the main thread polls XInput at 60 Hz, and gameplay runs at 59.2 fps. Sent after the game has hidden its window the request does nothing, so the map event is the only usable trigger. A built binary from this PR goes onto the Odin next (NFS MW, Hades II, Celeste).
The Android build workflow now uploads the built gamescope and gamescopereaper as an artifact so a PR build can be packed into a test payload.