Faster channel switching for addons with built-in demuxer

I've been experimenting with reducing the amount of stuff that happens when switching channels in an attempt to speed up the process, and this is what I have so far. These changes rely on https://github.com/opdenkamp/xbmc-pvr-addons/pull/259 for maximum efficiency. We already started the discussion over there but I think it's better to keep it here so people can more easily comment on specific changes etc.

All in all, the idea is to refrain from closing the demuxer and decoders when switching channels, unless it's necessary. Another part of speeding things up is removing the CACHESTATE_PVR caching state. This has been possible all along by using advancedsettings.xml and I'd like some feedback on what its purpose actually is (since stuff works fine without it)?

I am using this branch myself and while there seems to be some random issues with subtitles overall it works great. @amet also tested it successfully.

To start of the discussion I have two questions that I haven't gotten a clear answer on:

1. Why is the demuxer (m_pDemuxer) deleted all the time? 

2. What's the implication of reusing a decoder? @FernetMenta said something about extradata. Could someone shine on a light on all of this?

@elupus I take it all of this is somewhat your domain?