working on .../lib/usb/usage-page/
changed 'KEY__' to 'KEYBOARD__' for keycode macros
working on the layer-stack; finished! (for now)

- did not move any of the layer-stack code into code for a  'flex-array'
  type, or something similar.  i'm thinking that most of the things the
  layer-stack does aren't sufficiently generalizable. for instance, one
  of the biggest general functions in the layer-stack implementation is
  `_shift_elements()`; but shifing elements is only something you want
  to do when you're messing with elements not on the the top of the
  stack (which breaks the definition of a general stack).  so i think
  i'll leave things as they are for now.  the functionality can always
  be split out later if it turns out to be needed elsewhere.
(messing with makefiles; not working yet)
makefile working; doesn't compile yet
cleaned up a bunch and worked on the makefile; now compiling! :D
working! cleaned up a bit and found a silly bug

one bug left to fix before it's actually doing what it's supposed to

scanning at about 140Hz :D , and only slightly bigger than the old
firmware (though, with many fewer layers compiled in...) (also, the
winavr makefile gets the hex to be smaller somehow; i should probably
look into that)
fixed a comment, and made a few var names more consistent
(fixed a name, to go with the last commit)
now releasing keys on the same layer they were pressed

lol - i'd forgotten to do this before
fixed (or... worked around) a silly macro bug
moved `_layout` to PROGMEM

where it should have been (and i thought it was) before ... oops :)
(a little planning, and organization)
(minor change to a comment)
(small comment update)

Also, I just tested the scan rate without debounce (lol, should have
thought of that before) and it's about 471Hz.  This is much faster than
the 200Hz (every 5ms) that we need to limit ourselves to due to the
switches needing a 5ms debounce time.  It should be trivial to tune the
scan rate to closer to 200Hz once I get lib/timer implemented.
(misc changes; additions for planning)
started work on lib/timer; and some housekeeping
(minor: changed USB vendor and product name slightly)
(removed a cast from a call to realloc())
(minor doc update)