Added highlighting for valid moves; added stalemate; can drop a picked up piece; refactor