Change :valid hack to class not-empty for inputs (also add email type)

1b61b7a
Also fix for 
Uncaught TypeError: Cannot read property 'getDOMNode' of undefined 
focus: function() {
  	if (this.isMounted()) this.refs.input.getDOMNode().focus();
  },
It appears we want to style a wide range of HTML5 inputs. For completeness sake, it would make sense to add type selectors for inputs like tel, number,  url, search, etc.

http://html5doctor.com/html5-forms-input-types/