progress reporting improvments
optimize context code
Use array to save tiles on board instead of set (20% perf increase)
check empty corners to prevent putting
added maxFlips and maxRotations for tile and use it in solver