Add the ability to pass a function to execute()

This will take a function passed to `execute()`, translate it to a string, grab arguments defined, and define them in the string using `var arg1Name = arguments[0], ...`. This can then be passed to WebDriver's `execute` call. If a string is passed, the translation does not happen.