Derive new magics from existing sliders dynamically
The infra-structure is provided for adding new magic attack getters from
those for Rook and Bishop. These use the same attacks tables as the one
they are copied from, but mask away some squares from teh original masks.
This is controlled by the 16 high-order bits of the range code passed
from the Betza parser to the bitboard-creating routines, which then do
for the masks what the 16 low-order bits do for the pseudoAttacks:
remove those squares from the slider path for which the corresponding bit
was set.
This is a memory-efficient way for creating new types of rides in the 8
principal directions, such as Dabbaba- or Alfilrider, or even those with
still larger strides, such as the Threeleaperrider (HH). It can in principle
also be used for defining (non-lame) ski-sliders or a Panda.