BitHead - ByteHead that can write individual bits (and non-byte-aligned ints and partial bytes)