Add a button to the overlay. Returns the underlying div for advanced cases.
Look up a button's DOM element (e.g. to set .textContent).
Update a button's visible label.
Replace a button's base style (does not affect toggle "on" overrides).
Remove and detach a button.
Tear down the overlay and detach all listeners.
Mobile/touch input overlay. Owns the joystick, look-drag region, and any caller-registered buttons. The host game wires behavior through callbacks; the class itself never touches game state directly.