constructor() {
    super()
    this.lastValue = false
    this.count = 0
  }
Encodes a sequence of boolean values by mapping it to a sequence of integers:
the number of false values, followed by the number of true values, followed
by the number of false values, and so on. Each number is encoded as a LEB128
unsigned integer. This encoding is a bit like RLEEncoder, except that we
only encode the repetition count but not the actual value, since the values
just alternate between false and true (starting with false).