Differentiate between intensify=xy (the old default) and intensify=y

The intensify= option can now colour the cells based on global min/max
across all columns (=xy) or just the current column (=y).  Theoretically the
current row (=x) would also be meaningful, but gviz doesn't support that, so
we won't try to do it right now, and just throw a helpful error instead.
Fix datatable scrollbars, and handle window resizes correctly.

If you set gviz's options.height property - even, ironically, if you set it
redundantly to the height of the container, which ought to have been obvious
- then gviz will make the headers fixed at the top of the container even
when you're scrolling, which is what we want (ie. like "freeze rows" in a
spreadsheet).

We also add a listener on resize events and elegantly auto-resize the chart
or table when it happens.
Merge vizchart and viztable DOM objects into a single one.

We never show both at once anyway.
Fix the comparator when dealing with nulls.

Turns out neither 'x' < 0 nor 'x' > 0.  However, 'x' > '0', and '0' < 5, and
!('0' > 5). So basically, if it's undefined, order it like '0' instead of 0.
app.yaml version update.
Experimental chart=heatgrid implementation.

Heatgrid is a non-gviz based visualization that plots each value in a 2d
grid as one pixel/rectangle on a chart, with the intensity of each pixel set
according to the value in that cell.  You can mouseover the chart to see the
actual values.

This isn't perfect yet, but I think this is a decent first version.