hid-ginput: don't call notify on set_keymap_switching
hid-ginput: add comment on each function

Also remove obsolete code
hid-gfb: fix kernel memory corruption with monochrome LCDs

Reimplemented gfb_fb_mono_update as follows:

Seems the previous algorithm used to convert the userspace buffer to the
Logitech monochrome LCD format would overwrite other kernel structures
as well. Also, the fault caused weird setup of the userspace fb data in
order to achieve a correct image on the keyboard's LCD:

(excerpt from Gnome15's driver_kernel.py, lines 904-924)

            for row in range(0, height):
                for col in range(0, width):
                    if data[(row * width) + col]:
                        v += b
                    b = b << 1
                    if b == 256:
                        # Full byte
                        b = 1
                        i = row * fixed.line_length + col / 8

         -->            if row > 7 and col < 96:
         -->                '''
         -->                ????? This was discovered more by trial and error rather than any
         -->                understanding of what is going on
         -->                '''
         -->                i -= 12 + (7 * fixed.line_length)

                        arrbuf[i] = v
                        v = 0

Note that this commit requires the removal of such workarounds from
client code.

Also beautified gfb_fb_qvga_update, and correct indentation in fb_info
initialization.
hid-g13: fix cleanup on probe failures
tools: add small framebuffer test program