Use Live TV order for the card list.

In many cases, the list of available cards was being returned in card
ID order, when it would be more appropriate (and correct) to use the
Live TV order.
Allow Live TV to be entered from the top-level Program Guide.

This allows the user to start Live TV on a specific channel from the
Program Guide grid.  Otherwise, the user needs to wait for Live TV to
start and tune the initial channel, then find the channel actually
wanted, and wait for it to be tuned.  This also provides a workaround
when the default initial channel is untunable for some reason.

Currently, if the desired channel is not tunable (e.g., all capable
recorders are already busy), it will fail.

Refs #11913.
Add a guide grid to the internal web-server.

This is a WORK IN PROGRESS, not a final finished product. Please do
NOT open tickets for it yet.

What does NOT work (yet)?
 * The 'One-Click-Record' menu isn't hooked.
 * There is no Recording Rule Editor.
 * There are no button to move back/forwards through the guide.

Basically you can view the guide, browse through it by date or time but not much else.

It has been designed with modern browsers in mind. It utilises some
CSS3 and DOM features that may not work with browsers more than 6
months old. This is intentional, it is not a bug but I may be bribed
to change my mind.

The styling is provisional, the finished article may either look very
similar or entirely different.

Firefox, Opera, Opera Mobile, Opera Mobile Classic (Android) and
Chromium were tested. Internet Explorer and Chrome were not tested but
since we're following the standards here they should of course work too.

There is a known issue with Opera Mobile (both versions) and the
record menu throwing everthing out of wack.