Simplify PrepareGeometry's pointer release.
Use an options Hash over an auto_free value in Geometry and PreparedGeometry.
LinearRings need references to their parents so they aren't GC'd out of order.

Segfaults can occur if the parent Polygon is GC'd before the LinearRing,
which can cause things like LinearRing#coord_seq to blow up.
Clean up Geos::Handles using FFI::AutoPointer rather than at_exit.

Using at_exit can cause problems with Minitest and such which use
at_exit to run their tests. Depending on the order that the at_exit
blocks are declared, Geos::Handles can be destroyed before the tests are
run, leading to all sorts of issues.