Also test without Cython installed to make sure we don't assume Cython anywhere
Only set cython/weave optimization options during testing when they are actually tested (avoids failed tests when cython/weave is not available)
Only raise an error for missing Cython during install when `--with-cython` is set.
Do not already fail at import of the cython codegen package when cython is not available