Don't ignore trailing empty line

Trailing \N is effectively ignored, but
\N\N should still yield an empty line.
Fix \t corner cases

The end time is reset to line duration if and only if it is zero.
Negative accelerations are allowed (and can cause overflow later).
Fix \fade corner cases

Times in \fade(,,,-1,fadein,fadeout,-1)
are interpreted as in \fad(fadein,fadeout).

Make sure we check the times in the same
order as VSFilter in case they are not sorted.
Allocate track array exponentially

This reduces the frequency of reallocations.
Remove some ass_msg() calls

These aren't very useful for debugging due to the high volume of the log
output in problem cases. In fact, all they do is making the code slower
(the message callback can easily appear in the profiler output, even if
the callback doesn't actually print the messages).
ass_strtod: use modern C
build: add more warnings
Start \k, \ko at exact start time, not right after it
fontconfig: don't compact the sorted font list

Some broken fonts are dropped by Fontconfig during compacting.
Merge pull request #28 from astiob/compat

Fix \k starting time and incorrectly skipped fonts
Simplify hash function

We can rely on fast multiplication and good compilers.

v2: use default FNV-1a prime

Signed-off-by: wm4 <wm4@nowhere>
Signed-off-by: Grigori Goronzy <greg@chown.ath.cx>
Append new cache items at the start of the collision list

The idea is that more recently-added cache items are more likely to
get hits.

Signed-off-by: wm4 <wm4@nowhere>
Attempt to make code more readable

No more double pointer dereferencing.
Merge pull request #26 from wm4/warnings

Use more warning flags
Remove configure from autogen.sh
Added profile program and corresponding configure options
Test: Render at 1280x720
Test/Profile: Support out-of-tree builds
Combine bitmaps before applying blur and shadow
Added x86 ASM functions