New R Markdown dialog

This change adds a dialog that shows a set of templates when New R Markdown ... is invoked.

The templates are expressed in a JSON data structure. Today the JSON data is hard-coded in `RmdTemplateData`, with the the goal of eventually getting this data from the server when we support user-created templates. The data is exposed via JSNI and used to create appropriate widgets for each template, format, and option.

To render the options to YAML, they're converted to a JavaScript object and passed to the server, which converts them to a structured data frame, hands them to R, and has the YAML package convert to text. The data is opaque to the server, so it's possible to change the options and their representations arbitrarily without server-side involvement.