Hola otra vez:

Despacio es mejor, ¡verdad!
Bueno, hay algunas cosas que no están del todo bien:
Código PHP:
function generarPunto() {
var punto = document.createElement("span");
punto.style.position = "absolute";
punto.style.left = this.x;
punto.style.top = this.y;
punto.style.width = [COLOR=blue]"2px";[/COLOR]
punto.style.height = [COLOR=blue]"2px";[/COLOR]
[COLOR=blue]punto.appendChild(document.createTextNode(" "));[/COLOR]
punto.style.backgroundColor = this.color;
punto.style.visibility = (this.visible) ? "visible" : "hidden";
this.soy = punto;
[COLOR=blue] document.body.appendChild(punto); //nuevo
return true;[/COLOR]
}
Lo de los 2 pixeles es porque 1 no se ve bien, pero lo correcto es darle un tamaño de 1 pixel.
punto.appendChild(document.createTextNode(" "));... lo de agregar un nodo de texto es porque explorer (al menos mi versión) no lo muestra bien, pero no tendría que ser necesario.
Creo conveniente colgar el nodo "punto" creado en el método generar()
y return true no es obligatorio pero creo que es conveniente.
Tampoco creo necesario asignar un id, ya que se supone que con los métodos que se declare en el objeto tiene que ser suficiente para su manejo.
Creo que las definiciones que apunté antes son fáciles de implementar (mostrar, mover...)
Saludos