Validation framework rebuilt on top of INotifyDataErrorInfo.

TODO: Add hooks for ValidationAttribute on supported platforms.
TODO: Tests