Adds NumberInput

Using `bind` to reduce unnecessary code duplication is a good idea. However, the way we're doing it now, we're creating new functions and binding them to this component instance every time we re-render, which is super often (every keystroke!).

Instead, why don't we just create these new functions once, while declaring the component?

```js
_handleStateChange: function(fieldName, value) {
   ...
},

_handleBeginnerDelegatesChange: this._handleStateChange.bind(this, 'beginner_delegates'),
_handleIntermediateDelegatesChange: this._handleStateChange.bind(this, 'intermediate_delegates'),
...
```

I wonder if JS will complain if we refer to a method on the component before we've finished declaring it. If it does, we can fix this by making `_handleStateChange` just a plain old function outside of the component, and then we'll be able to generate our `_handleFooChange` functions from it:

```js
var RegistrationView = React.createClass({
  ...
  _handleFooChange: _handleStateChange.bind(this, 'foo'),
});

function _handleStateChange(fieldName, value) {
  ...
}
```