Allow skins to query directories (e.g. plugins) to fill static content

This is broken out of the work I did on customisable menu structures.  Basically it rips out the refactoring of static content and adds a directory provider, with support for launching items that are retrieved.

The skin specifies `<content>/some/url/here</content>`
and XBMC fills the list with said content.  This might be a plugin's results for example (recently added or random widgets) or might be some other VFS listing.  Plugins might setup the item's artwork and the like, so may be the more used case initially at least.

On click, XBMC tries to do something intelligent with the item by borrowing the stuff from Favourites.  This can be made more reliable by the skin providing a `<target>videos</target>` for example.  Further, there's `node.target`, `node.target_url` and `node.visible` available in the listitems (e.g. plugins could set these).  The first specifies the window for folders and the like, the second specifies an override of the items' path (e.g. it could be ExecBuiltin(foo)) and the last specifies the visibility condition so the item can hide away if it shouldn't be shown immediately (it's updated periodically like with static list content).

I'm hoping that @MartijnKaijser or similar can provide a converted version of the recently added or random items widgets and we can then alter confluence as a testbed.