You may be surprised that VirtKick wraps WebVirtMgr and uses it as a JSON API for libvirt. :-) This is a temporary solution but does the job - it allowed us to start real quick with features that users care about, instead of harnessing libvirt. (Of course, SSH key injection is in a scope of our project!
https://github.com/virtkick/virtkick/issues/6)