syntax: support colored capture expressions.

* lib/zile/syntax.lua (state:push_op): Don't push nil valued
operations.
(rex_exec): Adjust 1-based onig capture indices to 0-based
zile buffer offsets.
(leftmost_match): Return capture indices of matched pattern.
(parse): Between beginning and end of a matched pattern, queue
operations to set attributes for captured sub-expressions.

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