added a ptr creator and added some copy/move operator/constructor type stuff
Changed GridBase from CRTP to a simple prorotype to make all MACGrids
share a common parent.  This makes storing things easier for rendering
initial commit of vis tool - doesnt work
let grids be publicly created, only macgrids should be have public creation disabled
added examples of macgrids as members and fixed shared_ptr usage
Changed minor things like idx2ind is now coord2idx for clarification
to make deailng with poitners a bit nicer i've added .coeff and
.coeffRef methods so you can do ptr->coeff() vs (*ptr)() which is uglier
in my opinion.
Made the factory maintain a bounding box instead of an origin because
the bounds of the staggered grid are a bit more interesting/useful and
it's only EmbedDim*sizeof(Scalar) more data.

Added two modes of looping over the grid: one where the coordinates
aren't important and another where the coordinates are important.

There's now commented code that will become an auomatic resizing / grid
managing system.
demo now renders something, need to make the rendering prettier eventually + grid now has a const loop format for things like rendering