Add islet:console/1,3

console/1,3 attaches to the islet system console. The current
implementation does not return.

By default, the console receives I/O from the erlang shell prompt. The
caller can pass in a custom function by using console/3:

    console(Ref, ReaderPid, WriterFun)

ReaderPid is the pid of the process reading input. The process is
expected to send a message to the console:

    {islet_tty, pid(), binary()}

WriterFun is an arity-1 func, called whenever the console receives data.

    setup(Ref) ->
        Self = self(),
        ReaderPid = spawn_link(fun() -> myinput(Self) end),
        islet:console(Ref, ReaderPid,
                fun(Buf) -> erlang:send(ReaderPid, {stdout, Buf}) end).

    myinput(ConsolePid) ->
        register(myinput, Self),
        loop(ConsolePid).

    % myinput ! {stdin, <<"send to the console\n">>}
    loop(ConsolePid) ->
        receive
            {stdout, Data} ->
                erlang:display(Data),
                loop(Pid);
            {stdin, Data} ->
                ConsolePid ! {islet_tty, self(), Data},
                loop(Pid)
        end.