Zach Johnson rallies to beat Tiger Woods in World Challenge playoff