Event bindings

Use data binding to express event handlers.
This is a breaking change to event handler syntax, but allows for listening to non-bubbling events (like `focus` and `blur`) and simpler event processing.

In addition, the `ready` callback returns and the `created` callback will now fire at `createdCallback` time, before the ShadowRoot is created. Current and future element should use `ready`.