GEO lib projection changes / updates

This is now harmonized. @DrTon Please review - it now retains the interfaces you wanted.
This will not protect from uninitialized structure. "garbage (non-zero)" == true.