Adding a coordinate transformation layer.

To facilitate BlockGrid subclasses with different coordinate systems than
the default Python style a _transform_index method has been added that is
called at the beginning of __getitem__ and __setitem__. Subclasses wishing
to implement different coordinate systems should not modify the actual
storage structure of the grid, rather transform indices as needed as they
come in by implementing their own _transform_index methods.
Taking some outdated documentation out of BlockGrid.
In-progress work on new ImageGrid.

To-do:
  * Add Pixel(Block) subclass with .x and .y properties that return ._row, ._col.
  * Make ImageGrid.__getitem__() set ._row, ._col attributes on Pixels.
  * Work on ImageGrid._transform_index.
Commit of work-in-progress on ImageGrid.

To-do:
  * Make it work with strided slicing.
Working implementation of ImageGrid.