Quick and dirty refactoring to get things working.  This is temporary, it just reduces the amount of code that needs to be changed in order to function. This should be fixed by making the opengps() match the new gps_open(), and updating the call-site code.