Stochastic population forecasts using functional data models for mortality, fertility and migration