Create parent view for KakuroCellView

Create a parent NSView subclass for KakuroCellView
named GridCellView and factor methods and properties
relevant to any NSView subclass representing a grid
cell up into it. This is a preliminary change to
prepare the project for the introduction of other types
of grids and puzzles, such as sudoku puzzles.
Factor grid logic into a view controller

Factor some of the logic for setting up and
navigating through grids into a NSViewController
subclass, GridViewController.
Utilize a xib for the EditorWindow

Remove the hack on main.m to run the app without
launching a main xib, but remove the Window from
the main xib. Create an additional xib, connect it
with EditorWindowController, and launch it from
AppDelegate's applicationDidFinishLaunching.

Factor the creation of the control panel into the xib, and
some of the navigation logic of the grid into an
NSViewController subclass.
Factor Kakuro logic into a GridViewController subclass

Factor all the logic specific to the layout of a Kakuro
puzzle into a subclass of GridViewController -
KakuroGridViewController. For now EditorWindowController
works exclusively with Kakuro puzzles, but much of the
Kakuro specific code has been factored out into
KakuroGridViewController.

Logic for switching states in KakuroCellView has actually
been factored up to KakuroGridViewController. Eventually
cells will be simplified to simply draw, and broken out
into subclasses. This is a first step towards that goal.
Ensure cells switch only on double clicks

Ensure GridViewCell only reports to its
delegate that it should switch when it has
received both the first and second clicks in a
double click.
Factor KakuroCellView into three subclasses

Break KakuroCellview into three subclasses.
AnswerCellView and EmptyCellView are generic enough
to be shared with other puzzle types. KakuroClueCellView
is specific to Kakuro, and is prefixed as such