Pass options to generate_pdf as a dictionary

Instead of polluting the function with parameters use a single
dict.

WARNING: This breaks Backward Compatiblity but we are so early in
development and so not popular that this should not be a problem
in practice.
utils: rework options handling in generate_pdf

Loop on the passed options instead of manually checking the one
we handle.

For the future it would be nice to create a whitelist and just
specify if an options require a tmp file to handle them
automatically.
Merge branch 'dictopts'