Skip useless memset() when copying a bitmap
shaper: add FriBidi error handling

It is unlikely, but FriBidi might not process a string correctly,
and we should handle that. Tested by making it fail always. This
should also fix some compiler warnings.
Merge pull request #102 from grigorig/fribidi-errorhandle

shaper: add FriBidi error handling
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