Add support for `()` syntax

The `()` syntax can be used to register an event handler.

Example:

```
<tabs (change)="ctrl.onTabSelection(event)"></tabs>
```

* If tabs is a web component, then the change event is a DOM event that is triggered on the tabs element. So when using `()` we do not handle bubbling events. 
* If tabs is an Angular component, then the change event is a custom Angular event. It can be emitted using an event emitter function, which can be injected into a component.

```
class Tabs {
  Function emitChange;
  
  Tabs(@EventEmitter('change') this.emitChange);
}
```

Known Limitations

At the moment Angular components can only emit the change event. This is due to the limitations in DI. Once https://github.com/angular/di.dart/pull/180 makes it into DI and Angular, it is fairly trivial to add support for other events.