Add SignOnUiContainer to signon module

This type allows clients to specify a container item into which
the signon-ui service can embed UI for user interactions, instead
of spawning a new window.

This commit also improves the documentation for the signon process.