Function for nearest neighbor placement of cells

I tested a couple of algorithms for placing cells, but the one that was
the fastest was the one in which I randomly generate points until valid
locations are found.
Density Statistics Added
Rectangle Overlap Function
Added old matlab testing file

(The file we used to explore the neighborhood weighted diffusion)
Added a bar stimulus generator

Added RuntimeBarGenerator.py

This class uses numpy and pygame to create a moving bar stimulus.  The
class should be updated each step of our retinal model and can be
queried for a numpy array representing the current frame.
Coded the connections from stim to cones

The bar stimulus class places a particular bar movie (from
RuntimeBarGenerator) onto the retina.  The cone layer connects to the
bar stimulus, but I still need to visualize the weights and activity to
verify everything works.
Cone Layer Works Slowly
Time enhancements in cone layer

The stimulus now holds intensity values instead of RGB values, so the
cones do no have to calculate it on the fly.
Horizontal layer diffusion
Cone and horizontal layers

Finished the cone and horizontal layer implementations
The retina now stores copies of the activities of the cone and
horizontal layers, and the retina can play back the activities in a
basic GUI (left/right arrow keys to move in time)
Cleaned up and commented most of the code, so it shouldn't make anyone's
eye's bleed.
Bipolar cell placement and OPL location visualization

Added a bipolar layer class that places neurons
Added a visualization function to the retina class so that all of the
OPL can be visualized in one window (left/right arrows cycle through the
three layers)
On and Off Bipolar Layers

Extended the last update to include separate on and off bipolar layers
The cell placement visualization was modified to accommodate the new
layers.
An activity visualization was added that can handle any layer as an
input.
Input weights to the bipolar layer

Bipolar layers now receive equally weighted inputs from triad locations.
Added visualization for bipolar input weights
Bipolar layer, save functionality, git ignore

Bipolar cells can now update themselves based on cone and horizontal
activities, but the outputs don't look like what we want.  More testing
required.
Added a save functionality based on the pickle library.  Retinas can be
generated, stimulated, saved and loaded.  Save files are stored as .p,
and since these files are quite large, I've added "*.p" to the gitignore
file
Scalable pygame displays

Now the pygame windows scale up/down the retina to fit a 1000 x 1000 px
display
Visualization, Printing, Saving

Extended some of the above functionality, but mainly ran parameter
testing to get bipolars to respond
Updated outputs in parameters.txt to include stim and units in microns
Moving visualizations into a GUI
GUI Visualizations for OPL Morphology
GUI Version 1 finished

Activities and soma placements functional
Input weight visualization only works for ON Bipolar cells at the moment