did some stuff internally

http://i.gyazo.com/4a91a672f042049447f979697fadce6a.png
arrays to support infinite canvases, better abstraction, less global
variables, and setPixel