PDF Options

Resolves #131 #142 #152 #153 #154 
@noahsark769 I think this is pretty functional! What do you think?
These should probably be targeted by a class name rather than just `div`: it will make things complicated if we need to add wrapper divs, etc