Three independent stability fixes that surfaced while testing the Joy-Con
controller path:
1. Manifest: add keyboard|keyboardHidden|navigation|uiMode to MainActivity's
configChanges. Without these, unplugging the OTG cable mid-game triggered
a navigation/keyboard configuration change that destroyed and recreated
the activity. The new activity instance never re-established the emulator
surface cleanly, leaving a white screen, and Samsung Freecess then froze
the seemingly-idle process.
2. GameCard: cap Coil's image decode at 384px. LibRetro thumbnail PNGs are
often 1500x2000+, which burns ~12 MB of bitmap per card. With 30 visible
tiles that's hundreds of MB and was OOM-ing the app during in-game input
delivery (NewObjectV in nativePollOnce → JNI abort).
3. CoverArtManager: try (World) as a fallback region tag and add a cleaned-
title-plus-common-region cascade. LibRetro stores Super Mario Bros. as
'(World).png' but most US dumps tag the ROM '(U)', so the previous
expansion table only tried (USA)/(USA, Europe) and missed it.