When adding chain structs from an ExtensionPlugin it is convenient to have the calling code take ownership of the chain struct so that it can be deleted after the openxr call. We can also handle the linked list stuff here.