Support for Pie Charts

This adds support for Pie Charts.  Data should be supplied in the form of a data frame with two columns, label and value.  A reasonable attempt to guess the column types is made if the column names are not included.

Settings available are:
- labelType: Accepted values are 'key', 'value', or 'percent'.  This is the information that is used to label each slice.
- showTooltips: Boolean value.  Whether to show the tooltip on hover over the slice.
- labelThreshold: Decimal represneting the lowest fraction of the pie where labels should be applied.  Smaller slices will not have labels.
- donut: Boolean value.  Whether the chart should be a donut instead of a pie.  Donuts are always better than pie!
- donutRatio: Decimal between 0 and 0.8 that determines the size of the donut hole.  Larger is a larger hole.

A note on reactivity within the Shiny context.  Only labelThreshold and donutRatio provide instant reaction.  The other parameters can be set from renderPieChart, but cannot be changed after the graph is rendered for the first time.