ZPM UI overhaul

Fixes https://github.com/zerovm/zpm/issues/109.
I believe this was the last caller of `_add_ui`.