Share ChannelFactory and Timer between clients

With hookup 0.2.3 it's not possible to use many HookupClient instances in one application because several threads are created for every instance. This fixes that by creating one HashedWheelTimer and one ClientSocketChannelFactory for the first HookupClient and then reusing those for the subsequent ones.