Integrate NamedPipe::openPipe() and NamedPipe::createGIOChannel() in init().

The above two methods are basically mandatory. For users, calling
only one method is simple.

In addtion this pactch also changes the internal callback mechanism.
In the previous version, the user specified callback is directly
called back. This version catches it in NamedPipe and then calls
the user's callback function so that the NamedPipe can know
the status.