ical_ctdl_is_overlap() works because icaltime_compare() is really smart.
It looks at the time zone of the dtstart/dtend and can apparently go back up the icalcomponent
hierarchy to find its time zone data. I tested this by creating an event with a fictional
time zone and it did the right thing. It even showed the fictional name to me. This saves us
from having to convert everything to UTC before comparing. Nice!