MythMusic: fix compilation for users of taglib < 1.8

Seems you need tablib >= 1.8 to remove Picture blocks from xiph comments
but the minimum we currently support is 1.6 so since this is a rarely used
feature just disable it on taglib < 1.8 for now.

Refs #11947.
MythZoneMinder: fix an invalid frame no. warning when playing back events

Sometimes while single stepping through the event frames the player would try
to grab frame 0 which will never exist.
MythZoneMinder: use the itemVisible signal to update the event images

This makes scrolling in the grid a little quicker since it's now only
updating the images for the visible items.
Revert [4e8010cd]. Display description in detail popup if truncated on-screen. It doesn't work in Chrome or Firefox, which only leaves Opera and since they are switching to webkit anyway, it's not worth keeping. Need to find another, 'not ugly' approach but so far I'm drawing a blank.
Rename member variables in PreviewGenerator to meet coding standards.
Allow the preview generator to save in formats other than PNG. Take the format from the file extension.
Services/WebFrontend: Use JPG for preview images instead of PNG, at these resolutions JPG looks no worse than PNG and smaller file sizes mean faster page loads over a slow network connection.
Services: Create a rescaled copy of the large default preview image instead of calling the preview generator again.
WebFrontend: Switch to using an SVG sprite for the recording icons. Not noticably faster with Chrome, but orders of magnitude faster in Opera.
Fix galeria stretching the preview image. We'd defined an image display area larger than the image we were requesting via the services API. This just increases the size of the requested image to match up which looks a lot better.
Limit scheduler sleeping when master backend shutdown is enabled.

The longer sleeps added in a2eb9312 could prevent the pending shutdown
events from being sent.
WebFrontend: Add Lazy Loading (jScroll) to Recordings and Upcoming Recordings page.

I started to add it into the guide, but due to both a services
limitation which needs fixing first and the added complexity of having
to remember state while browsing forward and backward in time through
the guide it's currently not functioning and is disabled.

Packagers: I had to fix a bug in jScroll before it would work correctly in our
environment. I've submitted a patch upstream. Please do NOT use a
package version of jScroll instead!
Services: Fix an off-by one error when using the StartIndex arg with
GetRecordedList.

This also optimises things so that we aren't performing redundant
string/regexp comparisons after reaching Count.
mythburn.py: only use toprettyxml() in Python >= 2.7.3

There is a bug in older versions of that function which inserts additional
white space into text nodes causing problems when reading back in the
prettified xml file.
mythburn.py: fix another utcisoformat() missed in 45e62c8cb6
Merge remote-tracking branch 'upstream/master'