show
Show the overlay. Idempotent — calling while already showing replaces the existing overlay with the new config. Safe to call from any thread (off-main calls are posted to the main looper). No-op when the overlay permission is missing, or when the previous overlay could not be removed (so overlays never stack).
Convenience overload — equivalent to show(OverlayConfig(label = label, onClick = onClick)).