Add DataTables-based viewer for tabular data

This change implements a new viewer for tabular data (`data.frame` and friends). The viewer takes the place of the existing data viewer. It's built on the popular [DataTables](http://datatables.net/) library.

![image](https://cloud.githubusercontent.com/assets/470418/5309164/cd6c8244-7bd4-11e4-9dd3-2af5e162787a.png)

DataTables provides virtualized scrolling of large datasets, fixed headers with sort UI, and maintenance of view state, but all of the interesting data-related work (sorting, filtering, etc.) happens in R. The DataTables client bundles the client state and sends it to the server, which returns the slice of visible rows requested.

(Not ready for merge; needs review)
Yes, callers check the result of this function for `NULL` to see whether the variable exists or not.