You may get better performance with a canvas instead of tilemap.
Even with a tilemap with 1x1 tiles its slow even just erasing.
dropbox.com/s/0jkp71pl9nvyw08/roomba_tilemap.capx
An alternate idea is to grab a screenshot and use some JavaScript to scan the image for set pixels. It works, but it needs to flicker as I need to hide the other layers for a frame.
dropbox.com/s/il3xbkj19f8n78n/roomba_screenshot.capx
So here's the example using the C3 canvas. It works well for erasing but loops in events are slow, so here it does the scan of the pixels over multiple frames. Seems to work well, but if you resize the game window in any way the canvas will clear. May need some more logic to periodically save the canvas and reload it as needed.
dropbox.com/s/ki35vb1bx2xztuf/roomba_canvas.c3p
If you have the full version of c3 you could also handle the canvas pixel scanning in javaScript as that would be much faster.