Redesigned configure/Makefile setup

Adds yasm version check and handles Free/OpenBSD/win32 correctly.

Signed-off-by: Grigori Goronzy <greg@chown.ath.cx>
Assume SSE2 on x86_64
Don't use an unsigned it to check for <0 :|
Don't crash on \fscx0

Freetype can return a bounding box with all fields set to INT_MIN if an
outline with all points set to 0 is used. This can happen e.g. with
\fscx0, but also in more complicated cases. (In the original crashing
sample, this was probably caused in combination with an embedded font.)

Such a bounding box causes libass to crash, because it will enlarge the
combined bitmap bounding box to a ridiculous size.

Just skip outlines that have en empty bounding box. This is probably
the correct thing to do, and won't pass INT_MAX down to other parts
of libass.
Actually export ass_library_version symbol

Patch by chadr...@gmail.com.

Fixes libass#58, GC#117.
Fix change detection in presence of vector clips

Fixes this test case:

Dialogue: 0,0:00:00.00,0:00:02.00,,,0,0,0,,{\fs50\pos(250,250)\iclip(m 0 0 l 400 0 l 400 220 l0 220)}Hello
Dialogue: 0,0:00:02.00,0:10:00.00,,,0,0,0,,{\fs50\pos(250,250)\iclip(m 0 0 l 400 0 l 400 230 l0 230)}Hello

The problem here is that the rendered output bitmap list itself does
not change, only its contents (due to the different vector clip).
ass_render_frame() will not set *detect_change correctly, and an
application using this flag (like mplayer or mpv) will not update
the screen as needed.

Fix this with a very cheap hack: always report a full change if
there's a vector clip. This is basically an emergency fix until
we have a proper way to detect the change.
Merge pull request #61 from wm4/fix2

Fix change detection in presence of vector clips
Fix API documentation of change detection
Better fix for zero area outlines

Signed-off-by: wm4 <wm4@nowhere>

Commit 04b51c2d broke BorderStyle=3 with text that had spaces.
Remove incorrect declaration of HAVE_ALIGNED_STACK
Fix handling of top two pixel rows in be_blur_c

5dd56af2 replaced our implementation of \be with xy-VSFilter's.
This error is not present in the xy-VSFilter code; it was introduced
by accident in a merge that was later squashed as part of 5dd56af2.

Note: the new \be reads in but does not write out
the first and last row and column of pixels.
Remove dirty pixels from ASM be_blur output

A loop initializer was missing, so output started one row too early.
A loop condition check was missing, so output sometimes stopped
one column too late.

Also remove a couple of dead assignments.
drawing: parse numbers as floats

Parse values as float and convert into 26.6 fixed point. This actually
simplifies scaling a bit.

Fixes #63.
Merge pull request #66 from grigorig/drawing-floats

drawing: parse numbers as floats
shaper: fix nasty sign bug in font functions

Fixes issue #68.