Schwartzel wins Alfred Dunhill by 12 shots, for eighth European Tour title