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.
self.device?