Mickelson wins Open Championship with spectacular final-round rally