Use abstract calendar type in interfaces
KCalendarCore::Calendar is the central abstraction in the upcoming plugin system. MemoryCalendar is just one possible implementation of it.
Use the abstract type in various places and only use MemoryCalendar when actually instantiating a calendar.
This prepares for using different kinds of calendars.
Edited by Nicolas Fella