Refined piece type reflection.

Previously I just used [MajorCompass].  This
did not allow blocking of laser without dying
and made some things less type safe.
Initial game loop.

Looks like there's still something wrong with laser.
Implement board updates and descriptions for laser.