fzsl: support for piped input
fzsl: support for piped input

If a input if piped into fzsl it is assumed to be a list of paths. These paths
are added to a StaticScanner, which is used for matching. This requires some
changes to the support both piped input and the command line arguments as the
are currently supported.

The first change is that the stdin file descriptor needs to be non-blocking so
that piped input can be retrieve if it exists, but trying to read stdin does not
block indefinitely if there is nothing to read.

Secondly, the input from stdin interfers with curses and it is necessary to
create a new terminal prior to using the curses interface.

janusnic/fzsl,jsbronder/fzsl,janusnic/fzsl,jsbronder/fzsl