Much of the BackgroundIR code was either cut & paste or at least inspired
by other sources. Most notably the IRremote library by Ken Shirriff which
has undergone other transformations as well:

/*
 * IRremote
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * For details, see http://arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
 *
 * Modified by Paul Stoffregen <paul@pjrc.com> to support other boards and timers
 *
 * Interrupt code based on NECIRrcv by Joe Knapp
 * http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210243556
 * Also influenced by http://zovirl.com/2008/11/12/building-a-universal-remote-with-an-arduino/
 */

The above notice is from the version obtained from:

http://www.pjrc.com/teensy/td_libs_IRremote.html

where Paul Stoffregen has provided ifdefs for various different chips,
and was the source of my Teensy ifdefs.

I have made some rather large changes though, mostly to move everything to
background level interrupt processing (hence the BackgroundIR name).
