Support controlling external xbmc/upnp instance over UPnP

For the most part it works reasonably well. You do need upnp server enabled to kick of any file to a server. If the file is remote, it should work anyway since we will provide the remote url as well (thumbnails will potentially not work on the remote device).

It currently lack a way to transfer playback from current playing device to another device. Should just be adding a method to pop up a context menu with potential other players for a file.

It also doesn't match protocol info of the remote device to allow or disallow remote player to show up as a target. So it can be a hit and miss when you start playback remotely.