Trim leading comma in solution
Remove unused try_move_right function
Add print_state
Add playback_solution
Factor out board_size()
Add microban08 level
Allow player to walk over holes

This appears to be in the rules as it is necessary to solve microban08
Add counter for examined states
Relax print_state inputs
Show solution after playback
Store board w/h in board hash
Make param ordering consistent
COLORS
Add colormap

The colormap will be used to help us decide on valid moves.
A rock cannot be pushed onto a red square.
Use the colormap
Only print solution to stdout. All else to stderr.
Accept solution as 2nd param
Remove floodfill from make_colormap - don't need it
Single colormap. Holes in board, not state.

There is a fundamental change here: rocks do not fill holes, but can be pushed
back out of them.

To this end it makes no sense to have the holes as part of the state, rather they
should be baked into the board.

Furthermore, we no longer need multiple colormaps - one must now suffice.
I plan to bake these onto the board also, so haven't bothered fixing their implementation properly.
Baked in colormap