Implement plugin loading based on dependencies

- If plugin A depends on plugin B so A implements interfaces defined in B.
- Such dependency should be informed in A's .json file, build includes and
  linker dependencies are automatically handled by qmake.
- In DuSE-MT startup, dependent plugins (e.g. A) are loaded first so that
  , in B initialization, PluginManager can be queried by using pluginsByType()
  in order to get all plugins implementing a specific interface.

Change-Id: I201f12d2ce6972725f3aa11e9815374cf0948c5d
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>