ENH: Added BlackBoxToolkit device and made some changes to SerialDevice

BBTK is working ok on Linux at this point in recording mode. The
functions to create responses haven't been touched yet.
BF: logging to sys.stdout should check *each time* where sys.stdout is
ENH: provide a warning and a default if a component parameter is not in allowedVals
BF: joystick method signature variation; closes #632

- might disappear as an issue with pyglet 1.2