This was done beacause I needed to show events spanning more than a day

If _Event_ object supports **:simple_calendar_range_date** we go for it, else we check **:simple_calendar_start_time**, as before.
First we try to see if event spans over a date range (**event_start_date**..**event_end_date*), then we sort events selected by start date.
Warning: it may result that period with _same_ start date are **not** ordered by end date!
If :simple_calendar_range_date is not found then we try to find if event responds to :simple_calendar_start_time (single date events), else events is passed as is.