Updated usbdrv to vusb-20120109

via http://www.obdev.at/
Fixed makefile for usbdrv && fixed compiler warning
tell host we're not self-powered, and alloc 50mA to us

since we have no LEDs, this is probably enough.  there's 1mA for the
pullup on +5, about 15-20mA for the CPU at 12MHz (the datasheet doesn't
really say), and misc weak pullups.
modkeys variable is useless
make scankeys() actually capable of not reporting when no changes have occurred
omit useless xors
also report on modifier changes!
INDENT
why were we linking printf in?
Adding USBaspLoader.2010-07-27

via http://www.obdev.at/products/vusb/usbasploader.html
Adapt USBaspLoader for this project.

Bootloader starts when 'K' is held down while the keyboard is plugged
in.  avrdude -c usbasp can then be used to re-flash the firmware, after
which the target code will start running immediately.
Add -Wl,--relax for relative jumps
clean up whitespace issues
Only enable pull-ups on PORTB (the column input) and not PORTA/C (the row output).

Corrects USB reset timing, and input-condition PORTD at init and PORTC
between scans.

Dump the modmask array in favor of 1<<n.  yes, it's (unnoticeably)
slower but (unnoticeably) smaller.
whitespace
micro-optimizing
optimize, and fix debouncing stuff
whoops, left some junk behind.
don't leave bootloader until the programmer tells us to.

this way you don't actually have to hold down 'K' while programming;
just hold it down, plug it in, and let go.  that was pretty annoying.
scan row-wise instead of column-wise; also prevent spurious USB events