Sort y-order in schedule based on start times
There is a button in the Scheduler GUI that does this, but recent examples show that it is sometimes nice to do this explicitly on the Schedule object (right now it is a mix between the GUI and the Schedule class).
It is probably better to add a method sort_y_locations_on_start_times
or something shorter, that does this on the Schedule and is then called from the GUI-code. The GUI code seems to rely on the information in schedule._y_locations
to some extent, but each element also knows it y-location.