Super Duper GeoJSON refactor of DOOOOOM!

Also removes all previously implemented geometric functionality.
We should check the error pointer before assigning, otherwise we'll crash if NULL is passed in for the error. Same goes for the other places we're creating errors in this class.