Cleaned up cython typedefs header

The file defines typedefs to avoid overly nested templates cython can't handle.
We only need to declare explicit complex types at this juncture.
Build system does not rebuild bempp.space everytime

Somehow types.h (from types.mako.h) was always newer than space_cython.cc,
which meant the whole deal would be rebuilt everytime. Changed the build system
to generate mako files directly into the python binary dir. This means one less
add_python_module and attendant target. It is a bit cleaner and gets rid of the
problem.