Split the project up

Even remembering C++ linking rules w/ forward declarations :)