locks and keys nearly working; grid and walls are drawn with their own methods rather than in render()