These can be used as a basis for a bunch of pathing optimizations.
- Feasability of movement can be precomputed for each class, avoiding
the worst-case pathfinding behavior
- A path could potentially be shared between all members of a class.
This isnt necessarily the best path for any single unit, as it
doesn't care about efficiency of movement across various terrain --
but it would be a "reasonable" path that the whole group could take
together.
- General pathing checks can be converted from intersection of sets of
strings to a simple AND.
- Other, wilder things.
V2: be paranoid about too-long bit vectors.