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

Closes #1449
OOC, when do we call bind multiple times on a single ElementBinder (otherwise the cache is not necessary)?