Add IPTV capabilities to the existing Digital TV UI

Extending the current interface for using it not only for DVB but also for IPTV.

Commits:
1- Add IPTV capabilities to the existing DVB UI
- Basic IPTV capabilities
- Navigation TV panel: tabbed filters for DVB-T, IPTV and Radio

2- Digital TV: adapting the channel management UI for IPTV:
- Channel Scan is now called Digital TV tools
- UI: new tab for managing IPTV channels
- IPTV: option for adding individual channels
- IPTV: option for importing a m3u list of channels
- New checkbox for removing existing channels when saving. Removes only the channels of the same type (DVB or IPTV)
- Adding channels: new counter for preventing having duplicate prefNumber channels

3- Digital TV: split options from analog capture and new Digital TV options

3.1. General
- Split menu entry into: Open Digital TV / Open Analog Capture. File->Open Device now only refers to analog device
- Split class OpenDeviceData into OpenDeviceAnalogData and OpenDeviceDigitalData
- Channel navigation panel: only enabled tabs visible (depending on Digital TV options). Set initial active tab depending on current channel type.
- Add IGMP membership management: manage IGMP group join/leave for multicast IPTV streaming sources. Supports only IPv4 and IGMPv2. IPv6 and IGMPv3 could be added in the future if needed.
- Add shortcut for Digital TV

3.2. Exception handling:
- error controls (checking devices, etc.) moved from the general entry point to each channel switch operation
- Change current behavior: when error switching to a channel -> show error message in info bar and then stay ready for switching to another channel
- If the IPTV switching channel operation fails, we don't change the window size

3.3. Options & preferences:
- Split Digital TV options from analog capture
- New Digital TV options: DVB (BDA) and IPTV (include option: enable/disable IGMP multicast membership management)


Pending issues and known limitations:
- ONLY English version: to be updated once it is ready for merge
- IPTV Channel management: additional options (scan range of IP's and service discovery for multicast) are in progress and will be included in a different PR. 
- Access to channel management from options menu: will be also included in a future PR.
The methods are used in  https://github.com/xpc1000/mpc-hc/commit/97d8f4207e93fa388168e4b8af3d8c8a56c0d1c4#diff-57f982ec5ae960ab2571cf1d6e1fa088R147: 
<code>
auto new_end = std::remove_if(std::begin(DVBChannels), std::end(DVBChannels), IsChannelIPTV);
</code>
These methods are required as the condition for the iterator and I don't see how to change them to const reference without changing the definition of std::remove_if(). Please advise.