Preliminary shot at writing down requirements for features & functionality. Incomplete, and should probably be ported to a proper project management system.