Add Channel.buildFactory().

This simple change wraps all of jschannel in a function call that can be
accessed through `Channel.buildFactory()`. This allows jschannel to be used
outside of the context of cross-document messaging, for example as an
RPC mechanism between a server and client, or to create intra-document APIs
that can easily become cross-document if needed.

Also added `example/fake-window.html` to illustrate the use of the new
function.