paplayer/DVDPlayerCodec: prevent multiple Init() runs with the same arguments, do DeInit() on instance reuse, do more cleanup in DeInit() - fixes playback of DTS-WAV via paplayer (closes #14405)

Sometime around the ffmpeg-1.2 bump, DTS-WAV playback broke in a way that only noise was played when trying to play back WAV files containing DTS-encoded audio, using paplayer. In http://trac.xbmc.org/ticket/14405 this was worked around by removing the call to DVDPlayerCodec::Init(). Indeed, multiple calls to Init() are placed, which seems to screw up things regarding decoder initialisation/handling. This patch/PR makes Init() track multiple invocations and doesn't do subsequent runs when called with the same arguments (filecache not considered as it's not used), but rather does a proper DeInit(), while DeInit() is enhanced to be more proper so further Init()'s can do their work properly. This effectively fixes DTS-WAV playback.

Should be tested with SPDIF/HDMI passthrough, I was only able to test using stereo downmix (ffmpeg/libdca decode).

Closes trac ticket #14405.