Make TextField value handling match React.DOM.input value handling

Make the way TextField handles setting its value match the way
React.DOM.input and other form controls work.

If props.value is supplied, then the component is a 'controlled'
component and its value always matches props.value, otherwise
it is an uncontrolled component whose initial value is
props.defaultValue.
Please make the props variable local, as it's being called multiple times.