Fixed STATE_SIMON_* states to update and display properly.

- Divided STATE_SIMON_TURN into two smaller states, namely
	_PUSH and _DISPLAY, which are responsible for adding
	new colors to simonColors and displaying the array with
	respect to the game mechanics respectively.
- Added a waitInterval global variable to make it easier to adjust
	the time waited between each color in case I want to do
	something along the lines of the waitInterval shorter the
	longer the game has gone on.
- Fixed a bug where drawColors(true) would get called prior to a
	normal call to drawColors() and then another call to
	drawColors(true) resulting in a stutter when the next
	color in simonColors was displayed.
- Updated  variable and function names for consistency and/or clarity:
	offWaitTimer -> waitTimer,
	wait() -> simonWait(),
	randomColor() -> getRandColor(),
	waitForInput() -> playerWait()