document and fragment allow conditionals and nested arrays of filter&transformer pairs

Hi Anthony. First, let me thank you for this great library.

I just started to use it a few days ago and found that I needed more flexibility when defining my fragment and document bodies, so I made those modifications.

Maybe you find the feature useful enough to add it into the main branch.

Regards