Avoid showing the 'Autofill' button in the details view when not available
Remove the CRX package build

Current versions of Chrome only provide two
primary means of loading an extension - unpacked
extensions in developer mode or from the Chrome Web Store
for normal users.
Avoid auto-focusing the search field on touch devices

On mobile phones and tablets, the on-screen keyboard
obscures most of the item list when it appears, so we
avoid auto-focusing the search field in the item list to avoid that.

This commit uses 'is the browser probably a touch device'
as a proxy for 'does this device probably have an on-screen
keyboard'
Disable touch highlight effect in WebKit browsers

This avoids menu items and buttons being covered with a tap
highlight rect when tapped.
Dismiss menu in response to touch as well as mousedown events outside control

Also avoid user accidentally activating menu as soon as it appears
by adding a delay between showing the menu and accepting a menu
item touch
Show menu control on mouse down rather than click

This makes it feel more responsive
Update to React 0.12 and replace react-typescript with typed-react

 * Use React typings from DefinitelyTyped, these are more up-to-date
   and better represent the difference between elements
   (still called Descriptors as these typings were written for
    React 0.11)

 * Replace the unmaintained react-typescript with typed-react which
   is a thin binding layer between React and TypeScript

 * Use tsd to manage type definitions for React
Use tsd instead of a git submodule to manage typings

tsd is the recommended way to manage typings from DefinitelyTyped
Fix event listener leak

A new item update listener was being registered every time
the state for the root AppView component was updated.

 * Fix by only registering a new listener if the old/new
   stores are different.

 * Improve debugging of event listener leaks by reducing the
   default max listener limit to 10 and adding a console trace.

 * Make it easier to avoid leaks by allowing EventStream listeners
   to be associated with a context object. Only one listener may
   be associated with a given context object at any time.

   There is also a method to remove the listener associated with
   a given context object.

   This makes it easier to implement the pattern of switching
   the source stream for a listener or the listener for a source
   stream.
Fix use of React CSSTransitionGroup

In React v0.12 CSSTransitionGroup is a component, not a factory.
Add a utility function which creates a factory for it.
Remove reactutil.mapToComponentArray()

This does not work in React 0.12 since props.key was removed
and modifying the 'key' property of a created element fails
since elements are immutable once created.
Suppress JS strict warnings when testing addon

Many major websites generate a ton of strict mode warnings.
Suppress this from console output so I can focus on app-related
warnings.
Add webrtc/MediaStream typings required by chrome typings
Roll deps update