feat(web components): Support custom events for element property binding

Closes #1449