[kbd_v2] Delete the factory standard keyboard layout
[kbd_v2] Make sure the LEDs are set correctly after initialization

If we received an LED update immediately after USB configuration, before
wait_for_usb_init() returned, the LEDs might be left in the wrong state
when wait_for_usb_init() returns.  I haven't seen this problem occur in
practice yet, but this adds an extra LED refresh to ensure that the
state is updated correctly.
Implement key jamming (anti-ghosting)

When 3 or 4 corners of any rectangle in the key matrix are depressed,
jam keys that weren't depressed in the previous scan loop.  This
prevents ghosting, where keys are detected that weren't really pressed.

My older keyboard has diodes on most of the modifier keys, so ghosting
wasn't a big problem.  However, my newer keyboard has no diodes, and the
shift keys are unfortunately placed in rather busy rows.  Therefore it
exhibits ghosting for several problematic combinations.

This refactors the key scanning code to detect possible ghosting, and
jam the keys instead.  It can also take a matrix of diode locations, to
avoid jamming keys where a diode prevents any possible ghosting.
Use pgm_ptr for the key and modifier tables

Use pgm_ptr to prevent accidentally dereferencing these pointers in the
normal data memory rather than program memory.