refactor framebuffer implementation

no more auto-recognition. The user of the API is supposed to chose
the right implementation, i.e. do the device detection.

More fine-grained device-specific refresh implementation.

Simplification of the framebuffer API.
Integration (and thus complication :-)) of the Screen API into the
Framebuffer API.
only fix Kobo screen orientation when actually needed

The fix landscape -> portrait was done unconditionally. Do it only
when we actually are in landscape mode on startup.
debugging, fix bug in update/submission waiting

allow a debug function to be set

fix a bug (mangled variable names) in update/submissin waiting
fix rotation on rotated framebuffer on Kobos

forgot to update one settings store.
Yes, our rotation code is very convoluted.
Merge pull request #274 from hwhw/master

refactor framebuffer implementation