Beginning of main to GameWindow transition

Copied most of the code from the main function to GameWindow. Is currently a work in progress. Trying to comply with style guides with code refactoring.

Also added beginning of the support for the quit and reset buttons.
Button click support added

Clicking the buttons will now output either "QUIT" or "RESET" into standard out. Also fixed the button box drawing function to draw from the top left corner rather than bottom left.
Added advance and withdraw buttons

When the "advWithVisible" variable is set to true, the advance and withdraw buttons will become visible and clickable. A flashing border will be displayed around the buttons so that it is obvious that one of them needs to be clicked to continue.
Changes to conditionally show board

To allow for menus in the game, the board cannot always be shown. To allow for this to happen, a "gameVisible" variable was added. If this is true, the board will show on the next screen update (provded clicked or forceUpdate are also true).
Don't process grid clicks without game

Fixed handling of clicks so that they are not interpreted in terms of the grid if the game is not visible.

Also hid the nearest coordinate information as it is not needed anymore.

Clicks on buttons cannot be interpreted as clicks on the board anymore.

The time is now hidden if the game is hidden.
Fixed flashing box alternations

Fixed the flashing box so that its colors only change when the timer fires, and not whenever a screen update happens.

Also added variables for the eventual menu implementation.
Switch to drawBox

Use the drawBox function to draw all boxes in the window rather than each function implementing its own box drawing code.
Added buttons for initial menu

Added the client, server, and local buttons for the window. They handle events when clicked like all of the other buttons.
Added menu switching

Now clicking the buttons on the first menu screen will advance to one of the second menu screens, depending on what which button is pressed.
Added menu screen 2 outline

Added the comments and conditionals needed to support the intended features for the second menu screens.
Added graphical number pad display

Added the display for the number pad used in all of the second menus.
Add number pad click support

Added support for clicking the number pad.

Also cleaned up the code for the click detection.
Conditionally display period button

Change the number pad period button to display only if the current screen if the client screen. This is because this is the only screen where an IP address can be entered, necessitating a period.
Interface for menu 2 drawn

All of the interface parts are now draw for the second menu. They are not interactive yet.
Added drawing for selection boxes

Added the boxes that display for selecting either black or white or Human or Computer from the the second level menu.
Added the click processing for menu 2

Click functions added and completed for all of the menu 2 buttons and fields.

This code has not been thoroughly tested.
Broke up click processing

Split up the click processing into separate functions.
Connected number pad click checking

Number pad click checking added to the menu 2 screens.
Support modifying address string

Address string now modified by clicking the buttons in the number pad.
Fix updating of binary selections

Update the different two choice selections as soon as they are clicked.

Also fix a bug where clicks where going through to the next menu screen with the number pad.