Make each testing directive cause a test line in output

For now, every test script caused exactly one line of TAP output,
depending on whether all subtests were successfully run or not.

But actually, Test::TAP checks a condition each time a `expect',
`programexit' or `until' expression is encountered. Which should be a
test as far as TAP is concerned.

This commit effectively reverts the previous one, that introduced a
`title' directive. Instead, `title' may be specified with all three
testing expressions I mentioned above.

With this, the new example-script's output looks like this (with all the
extended verbosity like `trace', `debug' and `dump' turned off):

1..5
ok 1 - application starts up normally
ok 2 - slider moves to 50% position
ok 3 - moving slider around using ascii keys
ok 4 - moving slider around using arrow keys
ok 5 - application exited normally

Because we now have more than one test per script we also need a `plan'
directive, which is required and must be the first entry of a test
script. { plan => "noplan" } is possible, though, in which case the plan
line is printed after the script's tests ran.

Signed-off-by: Frank Terbeck <ft@bewatermyfriend.org>
Add documentation for programexit

Signed-off-by: Frank Terbeck <ft@bewatermyfriend.org>
Typo "unless" => "until"

Signed-off-by: Frank Terbeck <ft@bewatermyfriend.org>
Make exit_timeout configurable

Signed-off-by: Frank Terbeck <ft@bewatermyfriend.org>