tooltips and generic form validation

Let's show us some tooltips!

* Create a new "base" View - FormView - useful for doing form validation.
* form specific form validation can be configured via strategy functions.
* When a form element is invalid, it's containing .form-row recieves a title which is displayed as a tooltip.
* Change all Views that use forms to be a FormView
* Add a ton of tests.
* Add red outlines to form elements when invalid.

fixes #252 
fixes #435