Separated out drawGrid function into its own script.
Separated out drawPoints into its own method.
Updated comments and added more detailed TODO's for optimization.
Updated comments.