The IODelegate protocol implements a lower level interface to the underlying
graphics or window system. It is used by SpriteApp to set up the back buffer,
handle writing to the graphics screen, and handle keyboard, mouse, and other
user input events. An IODelegate object can be written for a subsystem
(SDL, X11, Win32, etc.) and then linked with the library at build time; a
sample IODelegate for SDL (http://www.libsdl.org) is included with the
library.