EDIT: InputListener class moved to console package.

The most of the logic of the class is now implemented in the
AInputReader abstract class, so the common things can be used for
more readers.
ADD: IEventFinder interface.

The EventFinder is processing all the inputs symbols that are comming
from the reader. If an event pattern occurres, the EventFinder returns
the event.

The events patterns depend on the OS, so different implementations must
be written.
EDIT: ConsoleFactory is now ComponentsFactory.

There are more than one OS dependent classes/interfaces now.
EDIT: IChatInputStream removed.

The input stream will be a single instance. It is going to be read with
the InputReader.

Each ConsoleWindow will have a KeyListener but only one ConsoleWindow
(the one on focus) will have it's listener attached to the reader.
EDIT: INonBlockingInputStream is removed.

There is ANonBlockingInputStream, which is an abstract class that
extends the java.io.InputStream. This way it can both be used as a
normal InputStream and a NonBlockingInputStream very easy.
EDIT: Refactoring.