Range selector plugin

Here are the changes to make the range selector a plugin.

The other notable change in this pull request has to do with DygraphLayout. It now has a public method, DygraphLayout.computePlotArea(), that is called by Dygraph.predraw_(). It will compute and store the layout's plot area, thus avoiding plot area recomputing each time DygraphLayout.getPlotArea() is subsequently called. As far as I can tell, and based on my testing, computing the layout's plot area once each time Dygraph.predraw_() is called will ensure the plot area is kept up to date. Let me know id that is not correct.