Pass grammar and variable objects to grammar functions

With this update it's possible to write functions that generate random
data based on any defined variables and/or grammar.
tumblr grammar: Update grammar

The grammar now includes everything from the argument generator (plus
some more), with the exception of sentences/statements and blog-related
stuff like revolutions (title).