change to non-hid device, and reserve a flag to switch.
add bootloader and refactor makefile
make bootloader based program work.