Let's get us some tooltips!

* Create a new "base" View - FormView - useful for doing form validation.
* A FormView must provide three functions - isFormValid, showValidationErrors and submitForm.
* 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.

fixes #252
Generic form validation, support for tooltips above and below the input elemnts & cleanup.

* Add tooltip/tooltip-below classes to tooltip containers.
* Add generic form validation in form.js with the ability for descendent views to override using strategy methods.
* MOAR TESTS!
Add red outlines to form elements when invalid.

* Remove the outline as soon as the user changes the value of the field.

fixes #435
tweaked tooltip spacing to avoid overlap
fix the show button border to handle the keyboard accessibility updates
Add helpers.js with requiresFocus, use that in form.js when checking for focus.