Hamilton wins British Grand Prix