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();
  },
There is an issue #55
So I think it's better to discuss what exact type are going to be supported
Because for example I tried color picker and it looks no good