Implemented win conditions
fixed gameover flash by gameover refactor
completed implementation
TODO: comment and tighten up