Converted extender to a modern usage and added enableIfValid binding handler.

The new extender extends off of the observable's fn for easier syntax in
the view model. Also, the binding handler enableIfValid allows for an
easier way to check for the validity of the view model.