BOARD file format
=================

- First line contains 2 integers Y and X separated by space: y and x sizes of the board
- next Y lines contain each X hex digits with nothing between them
 - each bit of the digits contains info on 1 side/middle of the block:
  - 1 if there is a block, 0 if there isn't
 - the blocks are placed as:
   1st (1): down
   2nd (2): right
   3rd (4): up-left to down-right
   4th (8): up-right to down-left
- after the table, 0 or more empty lines may be placed and the program will ignore them
- this is followed by another Y*X table of digits, which are interpreted as:
 0: empty block
 1: starting point
 2: win hole
 3: fail hole
 4: square fail hole (takes the whole square)
 - The table contain exactly 1 starting point and >= win holes. The number of blocks
   of any other types is only limited by the size of the board.
- optionally, the min time to pass the board may be given in milliseconds after the table.
 - if no time is given, the board doesn't have a time limit
