Forms/List: Smarter "ensureVisible(i)" method, to make sure that the
selected list item in a new list is normally positioned near
center of the visible list 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.
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'
t683
Merge branch 'master' into onyx3