Performance upgrade, speed and quality fix

1. Grids
-Changed grids to int[,] to make data access faster
-note: when input grid, x will be converted to 0 during solve. printout
will be 'x' as usual

2. PrintAll()
-Fixed overprinting border line when 25x25

3. Fixed 25x25 grid invalid problem
-InnerHVLeftOverCheck() was causing bad solving. Use Advanced() with
better quality

4. Fixed Borderline printing
-When printing 9x9, the horizontal line is too long
-The word width counting was faulty

5. Improved quality for TreeDiagram
-GetLeastEmptyBlock() now simpler code, less work, and faster