[3D] add support for stereomode switches in video playlist

This PR is based on #5236 and only the top 2 commits are related to this one.

Currently we don't handle stereoscopic movies as part of video playlists. So in case you have a mixed playlist with only 3D movies or mixed movies (2D + 3D), 3D-handling will ONLY kick in if the very first movie is stereoscopic. Following up movies won't be detected and handled, because we only listened to GUI_MSG_PLAYBACK_STARTED message and no playlist related ones.
Reacting on the playlist GUI messages alone is not enough, because we have to deal with mode changes between movies etc. All this is covered by bb6196c, but this alone doesn't give a nice user experience, because we don't remember user choices. So if you start watching in 2D (as your preferred mode) but felt for 3D and turned it on, the second movie would be 2D again. Also vice versa if you start 3D and moved to 2D, next item in playlist would fall back to preferred mode again. 37b17ce takes care of this by remembering stereomodes manually triggered by the user. So if user manually switches from 3D to 2D, we will stay in 2D mode until playlist ended. Also vice versa ofc. And in case the user doesn't want Kodi to back out of stereoscopic mode after playback has stopped, we also take this into account and will always stay in the very first 3D mode the user has selected. Reason is, that if users prefer to not back out of 3D mode on playback end, this means that their TV don't react on resolution changes and they have to manually trigger 3D mode on their TVs. Now if in a playlist the 3D mode in Kodi would change from movie to movie, users would have to adjust their TVs again which is not really userfriendly.

fixes http://trac.xbmc.org/ticket/14746

@elupus please review
@jmarshallnz - up to you if this is something for Gotham
I didn't actually build nor test it, so don't trust my suggestion too much, but I've tried to reproduce this code in Python.

It seems you want `if (m_stereoModeSetByUser != RENDER_STEREO_MODE_OFF && m_stereoModeSetByUser != RENDER_STEREO_MODE_MONO)` in line 435. `SetStereoMode()` exits silently if the mode is the same as the current one (i.e. unchanged), that explains why further `StereoModeToMono` actions don't print anything in the log.