When we draw a BMP that has a width that is not a multiple of 8, some
black pixels show up on the right, and the left part is truncated.
The root cause is that the horizontal adjustment uses the width and
not the scanline, so we don't get the correct range of pixels.
Code inspection also showed that there was an error in the size of the
datalen being returned from `grob::pixels`, because it returnes the
size of the object, not the size of the data bitmap.
Fixes: #1043
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Descenders in softkey menus were not really visible. This meant that a
unit like `kg` would be visually equivalent to `kq`.
This adjusts the size of menus by one pixel to make it visible, and
extends the clipping area by another pixel, which gives two extra
pixels when drawing in white on a black background.
This is not visually perfect, because as a result, menu entries
without a descender, e.g. 'mol' now appear to be a bit shifted up.
Fixes: #939
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>