modules: introduce vlc_plugin_t, remove module_cache_t
This introduces a dedicated compound type for module containers (i.e. plug-in shared libraries or statically linked module descriptors), or plug-in. A plug-in can contain any number of modules. The type describes plug-ins regardless of whence they came from, libvlccore ("main"), static linking, dynamic linking or the plug-ins cache. Previously, plug-ins from the cache were described by module_cache_t, only during the loading phase, while module_t was (ab)used to describe loaded or cached plug-ins. Ultimately, that allows moving properties of plug-ins out of the module structure where they do not really belong, since there can be multiple modules per plug-ins.
Showing with 249 additions and 214 deletions