cypressfx2 demo HDL: fix Vivado project generation

The CDC files were missing from the Vivado project.

This commit also improves the Synplify project file by removing unused
files and the documentation.
Improve documentation of cbuf
Fix buffer growth calculation without hint size

The calculation of the new temporary buffer size set |size| to 0,
causing a segfault later on when writing to the buffer.
Extend .gitignore file
cbuf: Add wait for level change to API

This allows us to remove the mutex and condition variables from the
public API, making cbuf easier to use.
Document how to add a new backend
Properly configure doxygen for doc building

We now use proper autoconf magic to detect doxygen and all dependencies.
The side effect of this is the support for more output formats and allowing
the user to choose the output format at configure time.
Make cbuf struct opaque