The build was failing with an undefined reference to `_caca_alloc2d`.
This was because the function was internal to libcaca but used by
the `cacaview` utility.
This change makes `_caca_alloc2d` a public function `caca_alloc2d`
by moving its declaration to the public header `caca.h`. All call
sites have been updated to use the new function name.
This fixes the build and allows the Python bindings to be used.