Forms/List: Smarter "ensureVisible(i)" method, to make sure that the
selected list item is near the center rather than at the very bottom of
the list
box.

ensureVisible(i) now jumps to center the item i when i is more than
about half of the list length outside of the currently visible screen.
In all other cases the behaviour is as before.
New Device: Identify Onyx Boox T68 device and set color and epaper type
flags correctly. Does not yet include dither switch problem workaround
(will be separate patch).
OpenGL/Canvas: Implemented InvertRectangle() methods for OpenGL.

Uses GL_BLEND for the inversion, as glLogicOp(GL_XOR) is not reliable on
all implementations.
Onyx Boox T68 Lynx: Full support for screen dithering. Workaround for
the spurious A2 mode switch problem.

Device now switches to dithering,inverted mode; which is reliable. As a
consequence, the screen has to be inverted, implemented in TopCanvas
just before buffer flipping.
Merge remote-tracking branch 'origin/master'