E407/hal.c (HAL_{ENTER,LEAVE}_CRITICAL_REGION): use task{ENTER,EXIT}_CRITICAL

task{EN,DIS}ABLE_INTERRUPTS are a bit too low-level.
E407/hal.c: protect SPI operations with HAL_{ENTER,LEAVE}_CRITICAL_REGION
E407/hal.c (spi_send, spi_recv): stretch SCLK timing by setting SCLK high thrice