Ich hätte eine Lösung für den Rahmen: Schau dir mal
pen.mode pmxor und
pen.style psdash an. Damit kannst du Linien zeichnen, die einfach die darunterliegende Farbe invertieren. Wenn du eine Linie z.B. im Onmousemove nocheinmal zeichnest, ist sie weg.
Erwarte das Beste und bereite dich auf das Schlimmste vor.