Loading
Defer bootloader connect for steps requiring user gesture
WebUSB requestDevice() can only be called from a user-initiated event. When a step has needUserGesture set, skip the automatic connect in next() and let executeStep handle it when the user clicks. Also add resetDevice() call before bootloader connect retries to clear stale USB state, consistent with the existing flashBlob retry logic.