Rewrote GPIO lib
 - Converted to C lib
 - Removed redundant code
 - Made code safer with proper file opens
 - Reduced wasted stack space
 - Improved interface with consitent return values and naming