Jenson Button wins Hungarian Grand Prix