drivers: fixes to the low-level GPIO driver

- fixed doxygen comments
- added GPIO_UNDEFINED value
- added return values to all functions