Support embedding data directly in gherkin formatters

This PR sets out to fix part 1 of #651 ("fix the JSON report formatter").

The idea is to support the following construct in step definitions:
```
encoded_img = @browser.driver.screenshot_as(:base64)
embed("#{encoded_img}",'image/png;base64')
```

The GherkinFormatterAdapter will now check if the first parameter given to the embed method is indeed a file, and if so read the content of the file and send it to the gherkin formatter (for instance the JSON Formatter) as before. When the first parameter given to the embed method is not a file, then the GherkinFormatterAdapter will now assume it is the data to embed, and send that parameter through to the gherkin formatter.