Minor speed and efficiency improvement

Minor speed and efficiency improvement

1. CHECKHVLEFTOVER IMPROVED
multiple empty cells in a row now can be solved around

2. struct Point
Removed ==, !=, and GetHashCode() because sometimes infinite loop occurs
because of the comparisons