MadFlow: automating Monte Carlo simulation on GPU for particle physics processes