I've been working on converting the existing 'unoconv' document conversion functions into a pluggable interface where unoconv is just one of the options. This will allow for a greater selection of conversion mechanisms, and supported file types.
This is still a work-in-progress, but details of the existing changes are available at MDL-55528.
Eric Merrill has also made the suggestion that we additionally support asynchronous conversions and I'll be looking at ways in which we may achieve this shortly.
I'm also hoping to look into additional converters though I cannot guarantee that these will be part of the inclusion into core.
I think this is a great idea. I was thinking recently about applications to other media types. It would be nice to have features that were able to transcode audio and video also into other formats. Students would then be able to submit assignments in a variety of formats, but the markers would not have to have all possible formats supported on their devices.
I would assume the backend code for this would be the same as what you are working on.