LinkDefinitionRecognizer
Recognizes a referenceable link definition. The URL may start on the line after the colon and the title on the line after the URL, so a definition spans up to three lines. The block absorbs the empty lines that follow it.
A footnote label parses as an ordinary label here: the footnote definition recognizer comes first in every lexer, so it claims [^label]: before this one is tried, and [^]:, whose footnote label is empty, is left to this recognizer as a link definition labelled ^.