Adds support for Observable objects in web_ui.
This includes @observable annotation for automatic transformation by DWC. It also includes ObservableList/Map/Set types.

Observables use a batch-notification system where changes are queued up and sent to the handler during the "next microtask". This is similar to ES7 Object.observe proposal.

We don't have detailed change records yet but I plan to work on that in a follow up change. Keep that in mind when reviewing ObservableList/Map/Set types because they're in for an overhaul. The CL for that isn't ready but for comparison purposes you can find it here: https://chromiumcodereview.appspot.com/12096106/

All tests have been converted. Since I had to go through every single test, I took the liberty of removing incorrect <title> attributes throughout.

I still need to convert the MDV and explainer examples. I'm also interested in more perf tests. I'll work on that now, but would prefer not expanding the scope of this (already big) change :)

Feature request: https://github.com/dart-lang/web-ui/issues/259

Review URL: https://chromiumcodereview.appspot.com//12225039