handle Block Response With Reason
fun handleBlockResponseWithReason(response: String, url: String?, callback: (result: HSBotDefenderChallengeResult, reason: HSBotDefenderChallengeFailureReason?) -> Unit?): Boolean
Callback-based API that surfaces the full result including HSBotDefenderChallengeResult.SOLVED_WITH_ERROR together with the accompanying HSBotDefenderChallengeFailureReason when applicable.
The reason is null for HSBotDefenderChallengeResult.SOLVED. For HSBotDefenderChallengeResult.CANCELLED the reason indicates how the challenge was dismissed (e.g. HSBotDefenderChallengeFailureReason.USER_DISMISSED_BACK_PRESS).
Separate from handleBlockResponse so handleBlockResponse(response, url, null) stays unambiguous for delegate-only Kotlin and Java callers.