Refactor Gruff::Pie so that it's more easily-subclassable

- The `draw` and `draw_label` methods were doing a ton of stuff
- Breaks out functionality into a bunch of small methods
- Users may subclass Gruff::Pie in their app and influence `draw` behavior without having to
  re-write the entire method.  Since it's broken into a number of smaller methods, users have the
  ability to change a targetted piece of behavior by overwriting a method that handles a single
  piece of `draw`'s logic.