Cleaned up processOptions and bindEvents hooks.
Moved other hooks out of the processOptions hook.

In plugins we should never add hooks conditionally; the condition should
remain within individual hooks, so the plugin can be toggled at any
time.

Ideally we should also 'inline' the hook functions, since they're used
nowhere else.  But since that would involve a lot of code changes, we'll
put it off until the broader cleanup effort scheduled for 0.9.0.
Moved fixData and calcData into combine.

They're small and not used anywhere else, so keeping them in separate
functions only serves to increase complexity.
Make the slice total a local variable.

The total is only used within the combine function; it doesn't need to
exist at the top level of the plugin.
Make redrawAttempts and shrink proper constants.
Eliminate the plugin-global redraw flag.

The redraw flag starts out as true, then is immediately set to false on
draw.  If labels are enabled, drawPie calls drawLabels, which calls
drawLabel for each label.  Any label that can't fit sets redraw back to
true, so the whole process can repeat.

This isn't the most obvious mechanism, and forces one to remember to do
things like setting redraw back to true after drawing, so the plot can
redraw itself on resize or when setting new data.

Instead we now have drawPie return true when it drew successfully, and
false otherwise, which the same happening in drawLabels and drawLabel.
Instead of checking the flag, we now just check the return value.

This has the added benefit of slightly improving performance in the case
where several redraws are necessary, since it now short-circuits out of
the draw loop as soon as one label fails to fit.
Moved setupPie into the draw function.

This code is only used to prepare the plot for drawing; inlining it is
cleaner and will allow us to get rid of some plugin-global variables
that existed only to give setupPie a way to share data with the draw
function.
Removed unnecessary plugin-global variables.

The canvasWidth, canvasHeight, legendWidth and legendHeight variables
existed only to share data between the setupPie and draw functions.  Now
that setupPie has been folded into draw, they're no longer necessary.
Removed the unused plugin-global raw variable.
Remove the non-existent second 'data' parameter.
Set processed back to false after processing.

This temporary fix addresses the problem described in #810, and possibly
#945, where calls to setData for a pie chart do nothing.