I've copied the implementation of a software debouncer from the
Arduino website. Using Arduino 1.0.1, before this commit the
sketch size is 29,906 bytes, and after it is 29,716 bytes.
However, the main benefit of this commit is that no non-standard
libraries are required to compile the sketch.