Update to split code into modules, and add Travis & buster