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