Capture result from each (major) phase as trees in API

Yes, but I need to get ahold of the instance somewhere.

Should I make the instance an implicit param of `api`? Something like this:
```
val api(implicit ER: Encode[Vector[PhaseResult])] = unfiltered.netty.cycle.Planify {
 ...
```

Or is there a sneakier way? If it was a scalaz type class, I could write `Encode[Vector[PhaseResult].encode(...)` inline, but Argonaut doesn't provide that.