Just the other day I was also wondering if the hardware SPI of the ESP8266 could be used to control the WS2812 in a tricky way. I mean, use HSPI but only connect the data line.
Taking into account "1" and "0" timings, each WS2812 symbol ("1" or "0") could be translated to 3 SPI bits (110 or 100) and with the appropiate SPI clock, let the ESP8266 do the work. I think that setting the clock to 3MHz, it will be about 1usec per WS2812 symbol (bit)
Still much slower than APA102, but no need to do precise time critical routines.