Switch to using SWIG for interface generation.

Move source files around so imports are easier.