Beginning to split into multiple source files

Factored out common game types in GameTypes.elm
did a lot more refactoring

This commit is basically every code change we needed to do to split the
code into the files with split it into and still have shit compile