Add support for multiple EPG sources by introducing a new
`EpgStore` structure that holds a vector of `EpgSource`
instances. Replace the static `EPG_DATA` with a thread-safe
`OnceCell` containing a mutex-protected `EpgStore`.
Implement the `fetch_and_parse_epg` function to fetch and
update EPG data from a given URL, handling both gzipped
and regular XML data formats. Enhance error handling and
logging for better traceability during data fetching and
parsing.