[pvr] unify channel settings with other video items

Replaces https://github.com/xbmc/xbmc/pull/4333

At the moment the video settings for live TV channels are stored and handled completely separate from all other video items. I don't know why this has been done like this to begin with but it's been causing various issues ever since PVR support was integrated in Frodo. This changes that.

Settings are now saved through the same routines used by other video items. The only difference in logic is that settings are not saved in UpdatePlayState() but instead in PerformChannelSwitch(). This is required since a channel switch is not the same as a file opening and closing so it requires some special treatment.

Since this moves settings handling away from the player completely it'll all work even when `<cacheindvdplayer>` is disabled.

@xhaggi @opdenkamp @FernetMenta can you review?
I've noticed some other bugs too, e.g. sometimes it just forgets stored settings. I haven't had time to look into it yet.