Add width and height fields to GridPuzzle.h

Factor KakuroPuzzle's width and height fields up
to GridPuzzle so they are shared with SudokuPuzzles.
Implement SudokuValidator

Implement a class that can be used to validate the
candidates a user has entered on cells in a Sudoku puzzle.
It compares cells against each other and givens, and returns
which indexes are in conflict.
Make SudokuGivenCellView subclass AnswerCellView
Make invalid Sudoku cells red

Notify the GridPuzzleEditorController whenever
the puzzle is updated. In SudokuEditorController,
validate the cells' candidates when this happens.
If a cell is invalid, mark it invalid so it will
display its text in red.
Add a mirror row number space sudoku grid

Display a second grid in the sudoku editor panel.
This grid represents the puzzle's row number space.
The left axis is rows, and the top axis is numbers, inside
the cells are placed the columns in which the numbers are displayed
in their corresponding rows. This second grid is uneditable, but
updates with changes to the main grid.