Ernie Els wins 2012 Open Championship