Split functions into files

This is a major update that splits the program up into multiple files.
Boat is now a class that contains several functions and cleans up
variable references. The TK HUD is mildly advanced.