Add WindowAndFlip supporting both C01B and B01C

The new ``WindowAndFlip`` will select the correct Cython function to invoke based on the axes of the datasets, which can be either ``('C', 0, 1, 'B')`` or ``('B', 0, 1, 'C')``.  This eliminates the need of a separate ``WindowAndFlipC01B`` or ``WindowAndFlipB01C`` at the Python level. 

Previously, there was a ``WindowAndFlipC01B`` class, but the B01C counterpart is not implemented although the corresponding Cython routine exists.