* src/xwidget.c src/xwidget.h: Add comments to indicate to which #ifdef some #endif are associated when it's not obvious.
Small fixes

* lisp/xwidget.el: Do some cosmetic changes.

Align expressions, remove some whitespaces, remove duplicated provide,
replace (if foo foo bar) by (or foo bar)
* src/xwidget.c (Fmake_xwidget): Cosmetic changes and fix a comment.
* README.xwidget: Fix some typos.
* src/xwidget.c (Fmake_xwidget): Add a docstring and add BUFFER as an optional parameter.

The docstring now lists the types accepted.
The GCPROtection has also been removed because it wasn't necessary (no
call to Feval/eval_sub either directly or indirectly).

(syms_of_xwidget): Add a comment to remind us to update the docstring of
`Fmake_xwidget' if new types are added.
* lisp/xwidget-test.el: Add missing provide.
* lisp/xwidget.el: Fix some warnings raised by the byte-compiler.