Use proper prototypal objects and inheritance for CanvasGrid and World, laying the groundwork for replacing them on the fly in the next iteration of the application code.