private: Faster channel switching

This enables faster channel switching, by not parsing the stream info for
PVR live streams completely beforehand. This took several seconds and
slowed down the channel switching. The new method reads the stream info
when it's available.

From:
github.com/FernetMenta/xbmc/commit/bf753ebec5f231bc7d85b6404c0841cf0307422d
github.com/margro/xbmc/commit/ef7442e5797b0eed22d9eee04e0571ac1d0453c9

Credits: FernetMenta, margro
PVR: Resolve channel dummy in GUIWindowPVRTimerSettings

When using Backend channel number , use channel unique ID member instead channel number
PVR: Cosmetics in GUIWindowPVRTimerSettings
PVR: FIx crash in GUIEPGGridContainer

Program terminated with signal 11, Segmentation fault.
#0  EPG::CGUIEPGGridContainer::SelectItemFromPoint (this=this@entry=0x354fd00, point=..., justGrid=justGrid@entry=false) at GUIEPGGridContainer.cpp:1326
1326      if (!m_gridIndex[channelIndex][blockIndex].item)

Program terminated with signal 11, Segmentation fault.
#0  EPG::CGUIEPGGridContainer::GetBlock (this=0x37f9374, item=..., channel=@0x37f9374: 0) at GUIEPGGridContainer.cpp:1556
1556      if (!item)

Refactor m_gridIndex using vector of vectors.
PVR: Fix channel switch dead lock

g_graphicContext mutex is held during "videoOSD" and lock notification queue. Removing lock here should be safe until GUIWindowManager::GetWindow() is const. This fix cause of dead lock when channel switch fails (not tunable or other).