drawlist: more tests and comprehension

Let's stay with bitfields for now, I think they might be portable enough for
our purposes, since they're never written nor exchanged with an external
system. When the structure stabilizes, we just need to make a big-endian
version in an #ifdef.
fix padding a bit...

Have to wait until struct_layout.py gets a bit better. Awesome program,
though.