- modified grid helper to allow for non square grids : length
and width are not settable independantly : closes #9
 * also refactored /cleaned up some of the internals of the grid