GUI update

- added GUI main class
- added GUI windows
- added base GUI elements
- added buttons
- added sliders
- added toggles

Buttons can be 2D or have a 3D world position which is translated to a
2D screen position.

- Refactored Model loader
- objects still need to be refactored

- Minor Refinements to castle, troop and machine classes