Removes an useless warning message.

Function "outline_to_bitmap" gives a warning itself when it returns
NULL, so it is useless to print an addition warning for checking its
return value.
Fix a wrong condition.
Fix leaks when error occurs.
Fix fix_freetype_stroker

The first point in a countour is not allowed to be a cubic control
point, which is sometimes violated by blindly reversing a countour,
producing the following errors:

    [ass] FT_Stroker_ParseOutline failed, error: 20
    [ass] Failed to rasterize glyph: 1

To avoid this, let the first point remain the first
and only reverse the order of the remaining points.
Apply blur to both glyph and border when using opaque box borders
Properly render opaque box shadows even when there is no border

Even if the border size is zero, the shadow is supposed to be
a copy of a hypothetical border: when border_style is 1, this
coincides with the borderless glyph, but when border_style is 3,
the shadow must be an opaque box.

Opaque box borders are now generated regardless of border size
being non-zero, and outline_to_bitmap3 gets a new flag indicating
whether it should discard the border (after generating a shadow
from it).
Use glyph properties instead of renderer state in draw_opaque_box

scale_x, scale_y and hspacing should be read from the GlyphInfo
of the glyph the box is based on, not from render_priv->state.
The values in the renderer state are affected by override tags
specified after this glyph, so they are irrelevant.
Parse angle in styles as double number

Similar to VSFilter. Thanks to Iroha for reporting this issue.

Note: this breaks the ABI!
Fix fallback event formats

Fixes issue 83.
Guard use of unistd.h with HAVE_UNISTD_H
Add MSVC project file and make changes needed for MSVC compilation
Work around some msvc debug asserts
Disable deprecation warnings
Add x64 configuration
Convert the harfbuzz shaper to C89