Gallacher wins Dubai Desert Classic, late eagle seals victory over Sterne