Rework bitwise functors into just 2 parametric types
This has several advantages: it reduces the number of names required to get good performance, it makes the truth tables much more obvious, and it allows specialization for all 16 possible bitwise binary operators (not just the ones that happen to be possible with existing Base functions).