This patch fixes assert on grid drawing. `for` loops are used instead of `while` loops to make sure the number of lines is exact. The old code draws lots of unnecessary lines offscreen. This bug is fixed as well. See the patch for a comparison without a scissor test. Differential Revision: https://developer.blender.org/D8745