Add tags to XML-related structs

By default, the `xml` package matches the names of the fields in a struct to XML element names. However, it's necessary to start all struct fields with capital letters so they are exported. Since the data returned by a UPnP device doesn't start with a capital letter, it won't match. This causes the XML-related structs not to be filled in, because the element names don't match any XML elements.

For example, take the `Device` struct. The `xml` package looks for an XML element with the name `Device`. However, the actual element is called `device`, so it doesn't find a match. I've added tags to all of the struct fields, which the `xml` package will use instead.