Automagically handle serialization and deserialization of JS variables.

This PR takes the approach proposed by @yihui and adds some bells and whistles that automagically handles the serialization and deserialization of variables created using the `htmlwidgets::JS` function. The code is fairly self explanatory. I have tested it with `rCharts2` and it works beautifully, helping me deprecate the `jsonfn` dependency. I will be running a few more tests and will update the PR appropriately.

@yihui the only reason I created a separate PR for this is that I was unable to figure out a way to get your changes in without merging it into the master (since your PR was made towards the master), and I wanted to keep this in a separate branch till we are all in agreement that this is the best approach. I owe you big time for bringing this issue up, and proposing a great solution.  :+1:

@jjallaire @jcheng5 it would be good to get your thoughts on this.
Ctrl/Cmd + Shift + / in RStudio.