Simultaneous heating of extruder and bed at start of print
This can be achieved with start G-code adaptations, this requires no software changes. Cura, and most slicers, have the ability to use placeholders (basically variables or maybe better: constants). These placeholders are substituted with the correct value upon slicing.
To sequentially heat the bed and hotend you would need to add the following into your start G-code:

M117 Heating bed 1st...
M190 S{material_bed_temperature_layer_0}
M117 Heating core 1st...
M109 S{material_print_temperature_layer_0}

For simultaneous heating you need to add:

M140 S{material_bed_temperature_layer_0}     ; set bed temperature to e.g. 55 °C and continue
M104 S{material_print_temperature_layer_0}   ; set hot end temperature to e.g. 210 °C and continue
M190 S{material_bed_temperature_layer_0}     ; wait for bed temperature to reach e.g. 55 °C
M109 S{material_print_temperature_layer_0}   ; wait for hot end temperature to reach e.g. 210 °C

Note that Cura is very limited in using placeholders. E.g. Slic3r allows for arithmetic using the placeholders. The following example shows heating the bed first to the bed first layer temperature minus 10 degrees Celsius; then the hotend starts heating and heatbed starts further heating up to the final temperature. For my machine this results in the bed and hotend being at final temperature at the same time; so no time is wasted and printing can start.

M117 Heating bed...
M190 S{[first_layer_bed_temperature]-10}
M140 S[first_layer_bed_temperature]
M117 Heating core...
M109 S[first_layer_temperature_0]
M190 S[first_layer_bed_temperature]