Switched from Arrays to 2D Vectors. Next stop: flat Vectors.
Switch to flat Vectors for internal board representation.
Big refactoring - added new internal-only representations that no longer treats shapes and boards the same. Hopefully this will lead to larger speed-gains as I further tune the algorithm.