Make reset and shutdown gpio optional

Instead of shutdown pin can use STANDBY and WAKEUP commands.
Instead of RESET pin, can send RESET command through SPI.
Use startup delays from datasheet.
Use gpio_set_value_cansleep to allow using GPIO expanders.
Improved debugging output (when DEBUG is defined).