[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 which means it'll all work even when <cacheindvdplayer> is disabled.

@xhaggi @opdenkamp @FernetMenta can you review?
@FernetMenta I don't think there's anything wrong with doing it here for normal files, it's precisely "non-normal" files like PVR streams that need some special handling.