Silence MSVC warning on 'uint16_t |= bool' with a cast

This isn't C4800, it's C4805.  MSVC says this is unsafe, but it
generates correct code.