ENH: Upgrade cmake infrastructure for 4.2 s4ext compatibility

Add a toplevel CMakeLists.txt so the structure matches other
extensions.

Don't generate the s4ext file directly, instead rely on the slicer
build system to do it based on the variables we set.