First (working) implementation. Hugely WIP.

NAMELY: DO NOT RUN ON A PW2!!!
That's probably more correct.

Hahaha. I'm already rusty with C pointers, this is killing me xD.
Tweak a comment
Update FT
Fix ffi/mxcfb_kindle_h.lua

Hackishly generated with updated version of gcc-lua & co.
Currently battling updter our koreader-misc tools to automate that.
Start converting stuff for the updated ffi tools
Make the rename clearer.
Refresh ffi stuff w/ update gcc-lua/gcc-lia-cdecl

Minus some stuff that diverge too much because of my system.
Thankfully, the only thing that appeared truly broken w/ the previous
iteration was mxcfb_kindle_h.lua, so it's not terribly critical.
Oops, had forgotten that, nice catch.

Stolen from houqp's 1fbd16d ;).
Detect the first refresh call in a smarter way
Timestamps!
Turns out os.date sucks. Not high res.
Implement device detection.

We now handle the PW2 correctly, and the Touch/PW1 should behave like
the stock reader (only waiting for full updates, unlike the PW2).
Merge remote-tracking branch 'upstream/master' into mxcb_wait_for
Build FT without HarfBuzz support.

While it's nice for CFF auto-hinting, harfbuzz itself has a build dep to
FT, so the circular dependency is kind of a bitch when x-compiling.
Fix FreeType ffi

Not quite sure how this managed to work before :D.
We're possibly using that...

So make sure it doesn't break on regen.
And it's in another header to boot ;p.
Comment on the accuracy of the PW2 check...

It's only accurate in Portrait mode. Granted, you can't run the
Homescreen in any other orientation by default, but, still.
Hopefully stricter logic to detect the PW2.

It doesn't depend on the current rotation mode, and should hopefully
prevent assigning bogus functions if the device is unknown.