Make SelectEventPlugin not throw for range inputs

Accessing .selectionStart on a non-text input will throw (see http://www.w3.org/TR/2009/WD-html5-20090423/editing.html#textFieldSelection), so check that the input has selection capabilities before accessing the property.

Fixes #437.
Merge pull request #438 from spicyj/select-range

Make SelectEventPlugin not throw for range inputs
Use Default Value for Undefined Props

Currently, default props as defined by `getDefaultProps` are only used if a prop is not specified (using `X in Y` check).

However, this makes it difficult for composing components to pass along the state of not being defined, for example:

  render: function() {
    // If `this.props.someProp` is not set, `InnerThing` should use the default value.
    return <InnerThing someProp={this.props.someProp} />;
  }

This changes the requirement for falling back to the default value to an undefined check (using `typeof X === 'undefined'`).
Add clickable anchors to docs headers

Closes #434
docs: remove OUTLINE
docs: Delete Mutation Events (onCharacterDOMModified)
Don't reset mouseDown in focus handlers

Focus fires after mouse down on initial click, so we lost the
flag when the user initially began dragging on the input.