Return rich IAppliedBindingInfo object when using View Bindings.

This PR changes the binding system to return an `IAppliedBindingInfo` object containing information about the binding. It is based on the `BindingInfo` class from #227.

TODO:
- [ ] BindTo has te be changed to return `IAppliedBindingInfo`.
- [ ] Figure out what to return, other than null,when a binding gets cancelled.
- [ ] Expose binding changes as an observable on `IAppliedBindingInfo`