fix for error when text has footnotes, and footnotes not enabled

Hi Dave,

When working on integrating Earmark into my other project, I came across a problem I had punted on earlier, whereby some text will have a footnote definition in it but footnotes aren't enabled, and the renderer doesn't know what to do. This PR fixes that.

From the second commit:

```
I'm not terribly happy with this solution, since passing the Options struct to
Parser.parse and subsequently Line.type_of is a major signature change.  My
workaround of providing a backwards-compatible signature is also not ideal;
I should go through and fix the many tests that use the two-argument signature
instead.

On the flip side, if Parser produces an FnDef block, but that's never coalesced
into a FnList block by Parser.handle_footnotes, what are we to do?  Not render
the FnDef at all?  Append `[^id]` to the contents first block's first line, and
render the contents?  It seemed to me that simply not parsing the FnDef to
begin with was a simpler choice.

This choice will also allow Line.type_of to ignore, for example, table lines if
desired, or if support for other markdown extensions are added later, to
opt-into their parsing.
```