syntax: only recalculate edited line and onwards.

Keep track of the currently edited line, and only recalculate
highlighting for that line and those following.
* lib/zile/buffer.lua (replace_estr): Mark newly edited line as
dirty.
* lib/zile/syntax.lua (state.new): Bump dirty.  Store bp and lnum.
(metadata.get_lnum): New accessor method.
(syntax_attrs): Unless this line has been edited since the last
time it was displayed, or comes after the last edited line, just
return the highlighting calculated last time.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>