Use Matcher for line input

Don't recall why this wasn't done in the first place, but
it seems to work fine now when I tried it.
Start on-demand lexing one line before

This can be a useful heuristic for those languages/formats where
the content of the previous line depends on the current line, e.g.
markdown where a setext header is underlined.
lpeg_lexer: Add .blank and .line_start

Also, when eating whitespace by default, don't consume eol's in
one swoop. Some languages depends on being able to lex depending
on a fresh line start, so give them the chance.
Remove superflous 'then'

What is this, Lua?
Improve markdown styling
Add new Markdown mode

Syntax highlighting is pretty comprehensive, and there's structure
support.