WIP: Add offset byte to protocol
This uses the reserved byte in the protocol to implement an offset. The first LED data in the packet will be drawn starting at the pixel with given offset. The rest of the pixels will stay the same.
Loosely based on !3 (closed) but without allocating a new buffer object on the heap for each loop.
Depends on !4 (merged)