Unfinished. I might improve this later, I made it in less than an hour. Unlike @griffpatch's tile engine, it uses pen and not clones, but I may change it to clones later.