Renaming
Pass DList by-value
Remove ref; unbox
Inline 'best' strs
Sort cases, defns, etc.
Add inlining hints

This won't force inlining like #[inline(always)] will but should enable
cross-crate inlining which would be useful for libraries linking to this one.
Renaming; add best to impl

Since best is only ever called on self, might as well make it part of the
impl. Doesn't need to be exported.
Optimizations; another 5x faster

Before:

`test bench ... bench:     51482 ns/iter (+/- 14876)`

After:

`test bench ... bench:     10686 ns/iter (+/- 1535)`

Performance improvements achieved by minimizing copies, avoiding unnecessary
creation of intermediate DLists (e.g., prefix prepend), and skipping the DList
reversal by appending to the back of the buffer. I did not benchmark each in
isolation but I'm pretty much certain that reduced copying is the biggest win.

There's still more room for improvement, e.g., see the FIXME comments. Using
Formatter per #16 would sidestep the lifetime issues and probably be more
efficient anyway, not to mention more flexible. Another possibility would be
to explore a parallel implementation of the algorithm. We'd use Arc<_> instead
of Box<_> for representing the ADT but otherwise I'm not sure how that would
work just yet.
Run more iterations during benchmark
Add comment re:parallelization of render
More optimizations; another 30-40%

Switched out DList for RingBuf and Vec. Wasn't expecting RingBuf to be faster
on its own but using RingBuf should facilitate an implementation of fitting
that doesn't need a clone of `cmds`.
Remove unnecessary annotations
Eliminate Vec; just mutate String
Inline fitting; best replaces render
Don't need push_front; replace RingBuf with Vec
Actually just inline best instead
Add .group to tree example so fitting gets called
Derive Show for Mode
Don't clone when calling fitting

Calculating the best String should no longer result in unnecessary copies of
parts of the Doc tree. This is reasonable because we never update the tree in
a mutable fashion but only observe it to construct the String.
Merge pull request #15 from darinmorrison/master

Optimizations; 18.8x faster