[ #39729 ] Split the concepts of ContactBackend and ContactModel
[ #39729 ] Remove dependency on AkonadiBackend singleton
[ #39729 ] Add support for asynchroniously add new contact collections at runtime
[ #39729 ] Add support for checking + loading new collection from the settings at runtime
[ #39277 ] Make AbstractContactBackend abstract

So it can be shared with the new history backends
[ #39277 ] Move the legacy history API to a plugin
[ #39276 ] Add a new 'local' history backend based on ini files

This backend is compatible with the old files. This commit add
a read only version. The next few commits will add write, clear
and import features.

This code is 100% modular, so it can be forked at any time to
a new syntax without bloating the current implementation.
[ #39276 ] Add support for importing the legacy backend into the new one
[ #39276 ] Add 'clear' support to the new history backend
[ #41915 ] Add partial support for a new backend managing abstraction

This commit add the ability to work with item backends as an abstract group
of items (calls, contacts, bookmark, ...). Backends can be enabled, disabled
and eventually maipulated as a group. Use cases for this include features
such as:

 * Ability to track presense on an LDAP group
 * Default incomming call action (auto answer, DnD, forward)
 * Add prefix on outgoing call
 * Disable and enable data source
 * Rename and change icon
 * Add new data sources as script such as gravatar or YellowPages

This commit make it load, it isn't useful yet, but this is a big change,
so better merge it now and slowly implement the missing calls.
[ #41915 ] Fix display
[ #41915 ] Merge contact backend configuration into CommonItemBackendModel
[ #43422 ] Merge video dbus XML
[ #42517 ] Move devices handling where it belong
[ #43422 ] Add 'switchDevice' (video)
[ #43412 ] Fix video preview
Fix a deadlock and a race condition
[ #43413 ] Remove the inline video toolbar
[ #44095 ] Implement a video flip-buffer, use double buffer instead of triple ones
[ #44118 ] Fix rotate left/right buttons