Refactoring

Changes:
- Removed extraneous 'self.'
- Replaced the 1D array of tile objects with a 'game board' struct emulating a 2D array
- Moved model-related enums and structs into a separate file