Adds the option geminiblocks with the valid types: block, alt, neither, both.
This is intended to be an accessibility fix that is slightly ahead of the spec. My hope is to make it a working model for moving forward with alt text associated with preformatted text blocks.
When set to block you will just see the contents of the preformatted block. Alt will show just the alt text, if it exists. Neither and both do what they sound like.
This also brings things more inline with the spec by using strings.HasPrefix(str, "```") to detect preformatted lines. The main branch currently looks for the exact line \n which will break with alt text or accidental whitespace. The spec specifically states that any line that starts with should toggle on or off a preformatted block.
Lastly, the previous way of handling blocks still allowed links to be rendered within a preformatted block, which is against the spec. This patch resolves that issue, which will allow text/gemini to self document itself more easily.