editable attribute-property bindings

this adds an `editable` section to the element definition that lets you say what the attr name is, type, etc, as well as the setter handler for updating the on-page element when the value is changed.