refactor $element
$deindented_line >= ... doesn't make sense
code block doesn't have to use regex
parse method doesn't have to use regex
atx heading doesn't have to use regex
setext heading doesn't have to use regex
improve tests