Let `header()` support unicode input, like `decode()`.

When invoking `header()` before `decode()` on the same JWT, you could run into `DecodeError("Invalid header encoding")` if the JWT input was unicode. This aligns `header()` with `decode()`.