UK Prime Minister Boris Johnson cancels India visit