Feature/widget helper functions

This PR makes it easier to create new widgets. The `addNewWidget` function bootstraps a new widget by providing a template for the R, JS and YAML files.  Optionally, one can specify a bower package for the widget, in which case `addNewWidget` will automatically download all dependencies, save them to the `inst/htmlwidgets/lib` folder and create the appropriate YAML configuration file by parsing the `bower.json` files.

You can test this functionality by running the following code:

```r
devtools::install_github('ramnathv/htmlwidgets@feature/widget-helper-functions')
devtools::create('testpkg')
setwd('testpkg')
addNewWidget('morris', bower_pkg = 'morris')
```

If run in interactive mode, it will open the widget files for further editing.

It is still a little rough around the edges, but thought I would get it out here so that I can get comments/feedback. @jjallaire @jcheng5 @yihui, any thoughts on how I can improve this?