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)
Could we only run this code when the ChangeSource is the REPL? (the other cases are RPC calls and URI requests). Just wondering if there is any benefit to avoiding the more frequent execution of this code.