When using the iterator, getting more than 1 byte at a time requires a lot of overhead.
Ideally something like:
ws2812b_iter_next_n(ws2812b_handle_t *ws, uint8_t *buf, int len)
could reduced the overhead (mostly iteration index to actual state mapping) when providing multiple values.