an angular directive for templated editable content areas