Off by one error in parsing of 'Date(a,b,c,d,e,f)' format.

Some weird json producers produce *strings* of that format instead of just
date strings ('yyyy-mm-dd hh:mm:ss') or javascript objects (new
Date(a,b,c,d,e,f)).  These obviously didn't happen very much or I would have
noticed that when we parsed them, we're off by a month :)
diff --git a/render.js b/render.js
index ff7a050..dcff0cc 100644
--- a/render.js
+++ b/render.js
@@ -247,7 +247,12 @@
     if (s == null) return s;
     if (s && s.getDate) return s;
     var g = DATE_RE2.exec(s);
-    if (g) g = (',' + g[1]).split(',');
+    if (g) {
+      g = (',' + g[1]).split(',');
+      if (g.length >= 3) {
+        g[2]++;  // date objects start at month=0, for some reason
+      }
+    }
     if (!g || g.length > 8) g = DATE_RE1.exec(s);
     if (g) {
       return new Date(g[1], g[2] - 1, g[3] || 1,
diff --git a/t/trender.js b/t/trender.js
index 1dd9e17..cfac92e 100644
--- a/t/trender.js
+++ b/t/trender.js
@@ -169,17 +169,21 @@
 
 wvtest('gridFromData', function() {
   var rawdata = [
-    ['a', 'b', 'c'],
-    [1, 2, 3]
+    ['a', 'b', 'c', 'd', 'e', 'f'],
+    [1, 2, 3,
+     '2012-1-1 2:03:04', 'Date(2013,0,2,3,4,5)', new Date(2014,0,3,4,5,6)]
   ];
   var otherdata = [
     ['a', 'b', 'c'],
-    [1, 2, 4]
+    [1, 2, 4,
+     '2012-1-1 2:03:04', 'Date(2013,0,2,3,4,5)', new Date(2014,0,3,4,5,6)]
   ];
   var grid = {
-    headers: ['a', 'b', 'c'],
-    data: [[1, 2, 3]],
-    types: ['boolean', 'number', 'number']
+    headers: ['a', 'b', 'c', 'd', 'e', 'f'],
+    data: [[1, 2, 3,
+            new Date(2012,0,1,2,3,4),
+            new Date(2013,0,2,3,4,5), new Date(2014,0,3,4,5,6)]],
+    types: ['boolean', 'number', 'number', 'datetime', 'datetime', 'datetime']
   };
   var gtext = _gridAsText(grid);
   WVPASSEQ(_gridAsText(afterquery.internal.gridFromData(grid)), gtext);