add web frontend

and refactor backend xml generation

(large commit)
Merge pull request #9 from dimagi/add-ui

add web frontend