Move generation for both White and Black