Lewis Hamilton wins Belgian grand prix after Button-Vettel clash