added src files - not much there yet though
added some stuff in src/lib
mostly comments documenting pin and matrix assignment
worked on pin assignments a little; and some other minor updates
split the firmware into general/controller/keyboard files
still working...

- removed the comment about the RESET pin on the MCP23018: i think these
  chips reset on powerup
- the partitioning of code into files is all wrong at the moment... i
  need to write some more and then fix that
mostly: figured out how to initialize the LEDs with PWM
working more on controller_init(), and file factoring
*lots* of stuff .. :) - got PWM working!

also, i didn't make a note of it in the *.md file, but Waveform
Generation Mode 15 for fast PWM wasn't working right (well.. wasn't
working how i expected it to).  i misinterpreted what the modes were
doing, partially (haha, or all-ly?) because i didn't read the
description of fast pwm thoroughly enough...  in any case, all the
information's in the datasheet, and it's actually not terribly long.
i'm not sure how to correctly use Mode 15 yet, but i think i'll leave it
alone for now, since Mode 5 works as expected, and i think what the
datasheet says about *that* makes enough sense to me for me to be
content for the moment.
doing something clever with macro prefixes, which didn't work

i'd like to keep it around in the history though, just for fun - :)
intermitent checkin; lots of stuff; i2c on hold; kb logic in progress
little work on the teensy init function and header; not much else
 few things; mostly, I2C works now!; it was a hardware error

i had been leaving the RESET pin floating... this does not work.  it
must be externally biased - high, if you want the chip to work.. :) lol
mostly working on mcp23018.c; init() and update() might be ready :)

also, moved the twi code to lib/teensy-2-0/twi*
lots

- fixed some includes (`uint8_t` comes from a header, not the language)
- put code from some of the .h files into .c files
- now using open drain logic (hi-Z or GND) on both chips instead of
  driving the row pins high on the teensy, or using a pull-up resistor
  on the row pins with the mcp23018
- put `return 0;` at the end of some functions that weren't void
- fixed/updated some documentation; esp. the row assignments for the
  mcp23018
- generalized the unused/row/column pin assignment and init code using
  macros, so they'll be much easier to move around if necessary
- fixed a redefinition error in "lib/usb/keyboard-usage-page.h"
wrote teensy update() (need to test); minor mcp23018 update() fix
(forgot to add these to git the other day)
lots and lots; now writing/debugging keyboard logic

also, mcp23018_init() needs fixing: `twi_stop()` needs to be at the end
of transmission blocks.  i wouldn't think that would be necessary, but
it seems to be the only thing that'll make it work, and it also seems
consistent with the protocol diagram in the datasheet (lol, imagine
that), so i think that's what i'll have to do.  not as though it matters
much i guess, since it's a single master / single slave system anyway, i
was just hoping not to release the bus till i was finished..
checkin before deleting the debug code; almost ready for first beta!

- simple bug fix in kbfun_press() and kbfun_release()
- no longer check for previous init() in the mcp23018 functions;
  something would happen when i tried to read from it, sometimes, when
  it'd been unplugged or stoped some other way, and it would hang - and
  the only thing that would make it better was running the test_twi_2
  function (a series of writes, with stops after each).  so now
  mcp23018_init() is a series of writes, with stops after each.  it
  doesn't take appreciably longer to run...  maybe it should be looked
  into later though.
- changed the main() loop a little
added ergodox circuit diagram; and a few misc things; time to clean up