~raph/win-win

Builders, docs, soundness

Move from function calls to the builder pattern. Write fairly complete
documentation for all types and methods.

Special care is taken for the soundness of the window procedure
lifetime.
Initial commit

Basic window creation, but needs docs and will be reworked.