Within all the introduced static libraries, the module cannot be known
at compilation time. This moves the module name from a compilation
constant to a link time constant string symbol. That way, the same
compiled object within a static library can use a different and correct
module name depending on which plugin it is linked into.
The symbol is hidden so it does not leak between shared objects. For
non-plugins shared libraries (vlccore, vlc, vlc_pulse and
vlc_xcb_events) the module name must be defined manually, unless the
library does not use msg_* macros at all (vlc_vdpau).

Nowadays, multiple pictures might share the same buffers. Consequently
the reference count of a single picture may be one even though there
are other references to the same buffers through a different picture.
Luckily picture_IsReferenced() is only really used in one place in
stream output, and then it was only an optimization.

This allows to use the same thread when input are parsed sequentially (and this
avoids creating 3 threads (parser/fetcher/downloader) for each inputs). The
performance gain is not visible on Linux but can be significant on platforms
with poor thread support.