[pvr] Fix unexpected sub channel merge in EPG grid

Using backend channel number, number would be not unique if any sub channel exist.
So don't use it to sense channel breaks. Use unique channel identifier instead.
you need to move the NULL check from line 760 etc. to this line
```
CPVRChannelPtr channel = tag->ChannelTag();
if (!channel)
  continue;
```