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:
- [x] BindCommand has te be changed to return `IAppliedBindingInfo`.
- [x] BindTo will just return an IDisposable.
- [x] Figure out what to return, other than null,when a binding gets cancelled.
- [x] Expose binding changes as an observable on `IAppliedBindingInfo`