Major change of class relationships

File class now inherits from Instruction, which would allow file
inclusion in the future. Slide is no longer the major component of File
class, freeing File module from messing up with a concrete subclass of
Instruction.

The run method in all instructions now defaults to be recursive, and
when it returns a number larger or equal to -1, the caller will call it
again after the delay, until the called run() returns -2. This allows a
similar behavior to iterating over nodes in a tree, where the only root
is the File object in play control.

All these changes almost render Slide useless, leaving it the only thing
to do - clearing the screen. It doesn't even generate a delay, which now
occurs in "End Slide" instruction.

Everything except core files (main, utility, play control) are
instruction plugins.