RFC: Introduce auto scope creation / deletion

This allows JS interop to be used without js.scoped(), although that
still works.  On first access, a scope is created and a callback to
exit the scope via runAsync (http://api.dartlang.org/docs/releases/latest/dart_async.html).

retain and release are still required for proxies that span multiple
events (e.g., see directions example).

Review URL: https://chromiumcodereview.appspot.com//13753006
make 'js' depend on 'browser'

The JS interop depends on the dart.js file from the 'browser' package.
Therefore, moving 'browser' from dev_dependencies to dependencies.
Merge pull request #63 from Ladicek/patch-1

make 'js' depend on 'browser'
Update pubspec.yaml

V0.0.19 includes autoscoping and fixes to support map notation.