Add color primitive rgb_t

To simplify the display logic, I created a struct to package the float
values used in OpenGL rgb colors.  Right now it just has basic init
and destroy methods, but its not intended to be super heavy, so that
is fine.
Rename header function to match declaration
Add display_t to encapsulate basic display params

In an attempt to Object-Orientize the display code, which
in past attempts has always proven to be a procedural kludge of
global and static variables, I created a struct to encapsulate
the display params of a basic chess window.

These include tile colors, bg color, and window dimensions.
Rename display to display-params
Add win_posx win_posy params to display_paramts_t

In an effort to encapsulate glut window display parameters in the
display_params_t, I've started the process of coding simple OpenGL
routines, and noticing the params/values I've missed.

The first change to come out of this is the addition of the win_posx
and win_posy parameters, which tell glut where to display the top left
corner of the new window.
Rename display-params to window-params

In the course of planning the upcoming display implementation, I began
to look at the data being shared between what will eventually become my
system of threads.

As this is relevant to the display code, I noticed that my "Display
Parameters" actually fall more into two separate categories...the
data being displayed (the board, cursor position, time information etc)
and the parameters that determine how that information is shown in the
window (dimensions, colors, etc).

To reflect this and avoid confusion with a struct I'll add in a
future commit, I renamed this second class of parameters as
"window-params".
Create graphics framework

This commit does little chess-related work, but rather takes the time
to set up future graphics commits.  The additions in this commit
include: thread creation for display code, OpenGL/glut/glu library
initialization.
Mockup CodingStandard as reminder of best-practices
Add enum options for display colors
Create header file for project wide constants
Update display-data struct
Update CodingStandard
Modify default display parameters

To fully parameterize the display window, this commit adds a series
of #define statements setting default values.
Add initial square/piece display

This commit adds a skeleton implementation for the chess-screen display
that simply displays the squares and pieces in 2D.  Displaying the
current state of the canonical board is now possible in limited
circumstances (discussed below).

The commit uses relative paths, rather than an INSTALL_ROOT to
locate texture and other files.  This means that the display code only
works in a specific directory (i.e. display/).

Additionally, the player1 color and player2 color display options
are unused, as the bmp files representing the pieces are only available
in Black and White.  This can be fixed in a future commit with the use
of transparency, and OpenGL shaders.

Finally, no board manipulation is possible via the current UI (there
is no handling for keystrokes).
General style/typo cleanup
Add resource install directory

To fix the relative-path issue when loading textures files, and to
comply with general standard practices, this commit adds changes to the
Makefile to store resources (i.e. texture bitmaps) in the path
'/usr/share/jegChess/'.

The texture bitmaps specifically are stored in an 'img' subdirectory, and
the code in chess-screen.c used to load the textures was changed to reflect this.
Add cursor display to GUI

This commit adds the cursor_t struct which holds the current
location of the cursor for drawing to the screen.  It also adds
the code to incorporate this struct into the display callback used
by OpenGL (i.e. it adds cursor 'drawing')
Add GLUT key-press handling

Prior to this commit, the cursor was shown on screen, but there
was no capability to respond to key-presses made by the user.

This commit adds the key-press* group of functions, which act as
handlers for key-presses reported by the GLUT module.  Currently,
these handlers are only used for moving the cursor b/w squares
on the chess board.

Next steps along this line of implementation include adding key-selection
support, as a way to allow users to select/move pieces.
Fix bounds check in cursor_move

Prior to this commit, cursor_move was responsible
for an off-by-1 error in the check placed on possible
cursor locations.  This resulted in the possibility of the
cursor being drawn off the board.  This commit fixes the logic
checking potential cursor move_locations.
Layout hooks for future control keys

In a previous commit, a framework was created for handling the
key-presses generated by the chess application.

In this commit, the framework is filled in with hooks allowing future
UI features to be tied in.  The feature hooks include pausing, undo-redo,
save-load, cancel move, etc.

These hooks are in the form of specific ascii and non-ascii
key presses in the key-press.c function handlers.