fix(setup): Not all modules are cythonized

Ensure all framework modules (besides testing) are cythonized when
Cython is available. Use dynamic discovery to avoid missing any
modules that may be added in the future.

Closes #362