libxl update work

This is a draft pull request for comments. Probably won't pull this as-is; it will at least need a rebase.

Mike