Use shared_ptr instead of raw pointers in construction of GeometryGrid
Previously, raw pointer were used to pass the host grid to geometry grid and ownership of the object was transferred. This commit switches this to the more modern way of using a shared_ptr for this case. The old constructors are deprecated.
This fixes #86 (closed)