Separated demuxing and decryption code from HlsPlaylist

Making it easier to reuse individual components.  A more generic
approach.

Need to implement non decryption demuxing, pretty simple.