Experimental label support
Merge branch 'master' into names
Experimental ListItem labels

Add a function get_media_labels to UrlResolver class that returns
media name and thumbnail in a format suitable for ListItem
Cleanup get_media_labels

Return media name, icon and thumbnail.
Use names that won't crash with implementators
Parse media name in promptfile and vidto
HTTPS support for Youtube

Minor improvement in regex to support https:// addresses in youtube
Make some "HosteMediaFile" methods private
Find media name support

- promptshare
- shockshare
- vidto
Use domain to filter implementors.

Universal implementors broken.
Added class attribute 'domains' in resolvers.

'domains' is a list of supported servers, not url-regex or similar,
intended to quickly find if a url is supported by a plugin or not.
Plugins refactor

Make plugin name match filename.
Overall performance overhaul: Plugin autoload + ignore priority

Plugins are not initialized at import time, but only if they are
requested. This change significantly improves initialization time,
especially in devices with restricted processing power. For example,
initializing UrlResolver in my Raspberry Pi took between 14 and 20
seconds, and with this changes it is reduced to 1 to 2 seconds. This
change especially improves UI responsiveness of plugins that use the
library.

Plugins are no longer sorted by priority, but just stored "first come,
first served," and matched only against domain (instead of calling all
"valid_url()" methods). This reduces average resolution time from 2-3
seconds to 1 second when the plugin is already in memory, without
significant lost in the first call (3 seconds).
Make universal resolvers work again.

Still might crash if an unconfigured resolver missbehave.

Priority is still not working.
Fix universal resolvers

Prevent the existence of universal resolvers from parsing random URL's as valid
Settings partially working again + fixes

Settings use plugin name and not class name. It makes settings work
with autoloading plugins. Non default settings not shown yet (TODO).

ovfile.py had wrong name (plugin fail to load when name!=filename)

'_labels' is now a dictionary.
FIX: Use 'title' for label
Make settings work again

- Autoloader messed up with settings, but now they are working.
- New set to add preferences to plugins, based on minidom.
- Plugins sorted by priority.
Merge pull request #196 from VioletRed/autoloader

Autoloader