first stake at converting blitbuffer operations to FFI
fix to blitbuffer.lua, adaption of Lua/C-API

changes the Lua/C-API to accept both "blitbuffer" userdata as created by the "classic" Lua/C API (blitbuffer.c) and lightuserdata which it gets passed when called with FFI-created "BlitBuffer" structs as parameters.

also adds rounding to the blitting functions since these may get called with non-integer values from other Lua code
Add Freetype 2 FFI binding
don't build old Lua-C-API ft.c Freetype 2 binding
add C declaration files for header generation

not yet integrated into Makefile - we _might_ want to autogenerate
files like "freetype2_h.lua" with the FFI declarations based on files
like these
cache some functions for faster access

we use these when doing heavily redundant operations, so make access path as short as possible
made blitting blazingly fast

blitting via copying each nibble by getPixel/setPixel is
sloooooow. About 10x slower than the old Lua/C API.
So re-introduced the algorithm from the old API - implemented
in pure Lua (using FFI data structures). That is now twice
as fast as the old Lua/C API.
Merge remote-tracking branch 'upstream/master' into ffi-experiments
Merge pull request #58 from hwhw/ffi-experiments

FFI: Blitbuffers, Freetype