Add a mechanism for selective style overrides

This adds 2 new API functions:

  ass_set_selective_style_override()
  ass_set_selective_style_override_enabled()

They can be used to force dialog text to use a specific ASS_Style. It
uses a fuzzy heuristic for that, and the quality of results may vary.
It does style overriding selectively and tries not to override things
that need explicit styling. The heuristic for that isn't set in stone
either, and can change with future libass versions.

Closes libass#88.
parse_tag: split \fscx, \fscy, \fsc
parse_tag: merge \fs+, \fs-, \fs
Move (r)skip_spaces to ass_utils
Parse override tag arguments exactly like VSFilter 2.38

Also replace strtocolor in ass_utils with string2color
from ass.c, because that is more useful everywhere now.
Introduce ass_drawing_add_chars for adding a whole string at once
Require closing '}' for override tags

Like VSFilter. '{' without a following '}' is just text, though
in vector drawing mode it still delimits individual drawings.

This also lets us nicely avoid '\0' hacks
in the \t override tag handler in parse_tag.
parse_tag: remove unnecessary malloc
Use ass_drawing_add_chars for vector drawings

This not only provides a performance improvement but also
conveniently fixes the following issue: we used to interpret
backslash-escapes in vector drawings, but we shouldn't.
Simplify drawing text assignment
Don't forget to apply \be to the first/last row/column (again)

The implementation of \be was changed to xy-VSFilter's, which (like
VSFilter's) reads but does not write out the first/last row/column.
Add enough padding for \be to avoid clipping
Use just the necessary amount of padding for any \be value
Calculate \be using [0..64] value range (like VSFilter)

With this, our \be finally closely matches VSFilter's.

The only visible difference is clipping: we add proper padding
and output the whole blurred image, while VSFilter does not add
any padding and hence clips the blurred image too early.
Apply \be after \blur (like VSFilter)
Do the last \be pass using full [0..255] value range
[WIP] Fractional and scaled \be through Dirac deltas and a final box blur